Bundesliga Plasmoid

Plasma 4 Extensions

Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

0
Become a Fan
6.9

Description:
This plasmoid shows the current matches of the 1. Fußball-Bundesliga (German football league). If there is a goal, a notification is shown.

Known Problems
The text is not always in one row and the row height differs (see screenshot).
Last changelog:

Version 0.1
* Initial release

Version 0.1.1
* make phonon usage optional


Ratings & Comments

12 Comments

Kirilo

Thanks for the new version. Now it shows up for a second or two (showing "fetching information"), but then it crashes the desktop (OpenSuse 11.3, SC 4.5.3). I get the following backtrace: Application: Plasma-Arbeitsfläche (kdeinit4), signal: Segmentation fault [Current thread is 1 (Thread 0xb599c710 (LWP 2080))] Thread 12 (Thread 0xa7274b70 (LWP 9045)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6d7a69c in wait (this=0x91a0b9c, mutex=0x91a0b98, time=30000) at thread/qwaitcondition_unix.cpp:85 #3 QWaitCondition::wait (this=0x91a0b9c, mutex=0x91a0b98, time=30000) at thread/qwaitcondition_unix.cpp:159 #4 0xb6d6fcc4 in QThreadPoolThread::run (this=0x91b0be0) at concurrent/qthreadpool.cpp:140 #5 0xb6d7a04f in QThreadPrivate::start (arg=0x91b0be0) at thread/qthread_unix.cpp:248 #6 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #7 0xb60ec46e in clone () from /lib/libc.so.6 Thread 11 (Thread 0xa6a73b70 (LWP 9731)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6d7a69c in wait (this=0x91a0b9c, mutex=0x91a0b98, time=30000) at thread/qwaitcondition_unix.cpp:85 #3 QWaitCondition::wait (this=0x91a0b9c, mutex=0x91a0b98, time=30000) at thread/qwaitcondition_unix.cpp:159 #4 0xb6d6fcc4 in QThreadPoolThread::run (this=0x91bf828) at concurrent/qthreadpool.cpp:140 #5 0xb6d7a04f in QThreadPrivate::start (arg=0x91bf828) at thread/qthread_unix.cpp:248 #6 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #7 0xb60ec46e in clone () from /lib/libc.so.6 Thread 10 (Thread 0xa7f31b70 (LWP 10531)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x9e3e81d7 in metronom_sync_loop () from /usr/lib/libxine.so.1 #3 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #4 0xb60ec46e in clone () from /lib/libc.so.6 Thread 9 (Thread 0x9bad4b70 (LWP 10532)): #0 0xb5ca622b in clock_gettime (clock_id=1, tp=0x9bad4088) at ../sysdeps/unix/clock_gettime.c:100 #1 0xb6e9c75c in qt_gettime () at kernel/qcore_unix.cpp:111 #2 0xb6ea0776 in QTimerInfoList::updateCurrentTime (this=0xac7e4bc) at kernel/qeventdispatcher_unix.cpp:340 #3 0xb6ea03be in timerSourceCheckHelper (src=0xac7e488) at kernel/qeventdispatcher_glib.cpp:150 #4 0xb5bfa7d0 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #5 0xb5bfb108 in ?? () from /usr/lib/libglib-2.0.so.0 #6 0xb5bfb60e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #7 0xb6e9fd97 in QEventDispatcherGlib::processEvents (this=0xa9a2a20, flags=...) at kernel/qeventdispatcher_glib.cpp:414 #8 0xb6e7311d in QEventLoop::processEvents (this=0x9bad42c0, flags=...) at kernel/qeventloop.cpp:149 #9 0xb6e73319 in QEventLoop::exec (this=0x9bad42c0, flags=...) at kernel/qeventloop.cpp:201 #10 0xb6d77403 in QThread::exec (this=0xaa93ed8) at thread/qthread.cpp:487 #11 0x9e441dc8 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #12 0xb6d7a04f in QThreadPrivate::start (arg=0xaa93ed8) at thread/qthread_unix.cpp:248 #13 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #14 0xb60ec46e in clone () from /lib/libc.so.6 Thread 8 (Thread 0x9b2d3b70 (LWP 10536)): #0 0x9e4b7343 in snd_mixer_handle_events () from /usr/lib/libasound.so.2 #1 0x9bbd0091 in ao_alsa_handle_event_thread () from /usr/lib/xine/plugins/1.29/xineplug_ao_out_alsa.so #2 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #3 0xb60ec46e in clone () from /lib/libc.so.6 Thread 7 (Thread 0x9aad2b70 (LWP 10537)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x9e3fb180 in ao_loop () from /usr/lib/libxine.so.1 #3 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #4 0xb60ec46e in clone () from /lib/libc.so.6 Thread 6 (Thread 0x998ffb70 (LWP 10538)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x9e3f6c41 in video_out_loop () from /usr/lib/libxine.so.1 #3 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #4 0xb60ec46e in clone () from /lib/libc.so.6 Thread 5 (Thread 0x98d15b70 (LWP 10539)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x9e3ec3a4 in fifo_buffer_get () from /usr/lib/libxine.so.1 #3 0x9e3f2a25 in video_decoder_loop () from /usr/lib/libxine.so.1 #4 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #5 0xb60ec46e in clone () from /lib/libc.so.6 Thread 4 (Thread 0x98347b70 (LWP 10540)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x9e3ec3a4 in fifo_buffer_get () from /usr/lib/libxine.so.1 #3 0x9e3f3c45 in audio_decoder_loop () from /usr/lib/libxine.so.1 #4 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #5 0xb60ec46e in clone () from /lib/libc.so.6 Thread 3 (Thread 0x97b46b70 (LWP 10541)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x9e3fe27c in listener_loop () from /usr/lib/libxine.so.1 #3 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #4 0xb60ec46e in clone () from /lib/libc.so.6 Thread 2 (Thread 0x97345b70 (LWP 10542)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6d04452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6d7a69c in wait (this=0x8c8851c, mutex=0x8c88518, time=30000) at thread/qwaitcondition_unix.cpp:85 #3 QWaitCondition::wait (this=0x8c8851c, mutex=0x8c88518, time=30000) at thread/qwaitcondition_unix.cpp:159 #4 0xb6d6fcc4 in QThreadPoolThread::run (this=0x8c79f18) at concurrent/qthreadpool.cpp:140 #5 0xb6d7a04f in QThreadPrivate::start (arg=0x8c79f18) at thread/qthread_unix.cpp:248 #6 0xb6cffb25 in start_thread () from /lib/libpthread.so.0 #7 0xb60ec46e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb599c710 (LWP 2080)): [KCrash Handler] #7 adjustRightBearing (this=0xbfe62524, maxGlyphs=2147483647) at text/qtextlayout.cpp:1692 #8 QTextLine::layout_helper (this=0xbfe62524, maxGlyphs=2147483647) at text/qtextlayout.cpp:1930 #9 0xb662b793 in QTextLine::setLineWidth (this=0xbfe62524, width=<value optimized out>) at text/qtextlayout.cpp:1601 #10 0xb651b43c in qt_format_text (fnt=..., _r=..., tf=21521, option=0x0, str=..., brect=0xbfe626a8, tabstops=56, tabarraylen=0, painter=0x0) at painting/qpainter.cpp:7746 #11 0xb651c0a7 in qt_format_text (fnt=..., _r=..., tf=21521, str=..., brect=0xbfe626a8, tabstops=0, ta=0x0, tabarraylen=0, painter=0x0) at painting/qpainter.cpp:7586 #12 0xb65faa8d in QFontMetrics::boundingRect (this=0xbfe6283c, rect=..., flags=5137, text=..., tabStops=0, tabArray=0x0) at text/qfontmetrics.cpp:773 #13 0xb6803e6e in boundingRect (this=0x1411, w=480) at ../../src/gui/text/qfontmetrics.h:102 #14 QLabelPrivate::sizeForWidth (this=0x1411, w=480) at widgets/qlabel.cpp:688 #15 0xb6804254 in QLabel::minimumSizeHint (this=0x8228930) at widgets/qlabel.cpp:807 #16 0xb6a180c6 in QGraphicsProxyWidget::sizeHint (this=0xaf979c8, which=Qt::MinimumSize, constraint=...) at graphicsview/qgraphicsproxywidget.cpp:1428 #17 0xb4f4bbff in Plasma::Label::sizeHint (this=0xaf979c8, which=Qt::MinimumSize, constraint=...) at /usr/src/debug/kdelibs-4.5.4/plasma/widgets/label.cpp:366 #18 0xaa645038 in sipPlasma_Label::sizeHint(Qt::SizeHint, QSizeF const&) const () from /usr/lib/python2.6/site-packages/PyKDE4/plasma.so #19 0xb6a15137 in QGraphicsLayoutItemPrivate::effectiveSizeHints (this=0x8326ef0, constraint=...) at graphicsview/qgraphicslayoutitem.cpp:165 #20 0xb6a15b04 in QGraphicsLayoutItem::effectiveSizeHint (this=0xaf979d8, which=Qt::MaximumSize, constraint=...) at graphicsview/qgraphicslayoutitem.cpp:756 #21 0xb6a59be5 in QGraphicsWidget::setGeometry (this=0xaf979c8, rect=...) at graphicsview/qgraphicswidget.cpp:350 #22 0xb6a18395 in QGraphicsProxyWidget::setGeometry (this=0xaf979c8, rect=...) at graphicsview/qgraphicsproxywidget.cpp:771 #23 0xaa638d44 in sipPlasma_Label::setGeometry(QRectF const&) () from /usr/lib/python2.6/site-packages/PyKDE4/plasma.so #24 0xb6a57c5b in QGraphicsWidget::resize (this=0xaf979c8, size=...) at graphicsview/qgraphicswidget.cpp:309 #25 0xb6a5a69f in QGraphicsWidget::updateGeometry (this=0xaf979c8) at graphicsview/qgraphicswidget.cpp:992 #26 0xaa62b970 in sipPlasma_Label::updateGeometry() () from /usr/lib/python2.6/site-packages/PyKDE4/plasma.so #27 0xb6a15741 in QGraphicsLayoutItem::setSizePolicy (this=0xaf979d8, policy=...) at graphicsview/qgraphicslayoutitem.cpp:404 #28 0xb63fea1c in QWidget::setSizePolicy (this=0x8228930, policy=...) at kernel/qwidget.cpp:9547 #29 0xb680225c in QLabelPrivate::updateLabel (this=0x8326f80) at widgets/qlabel.cpp:1100 #30 0xb4f4c3e2 in Plasma::Label::setText (this=0xaf979c8, text=...) at /usr/src/debug/kdelibs-4.5.4/plasma/widgets/label.cpp:139 #31 0xaa61804c in ?? () from /usr/lib/python2.6/site-packages/PyKDE4/plasma.so #32 0xab1f9831 in PyCFunction_Call (func=0xab90e6c, arg=0x870ba8c, kw=0x0) at Objects/methodobject.c:81 #33 0xab21cfd1 in call_function (f=0x9518d1c, throwflag=0) at Python/ceval.c:3750 #34 PyEval_EvalFrameEx (f=0x9518d1c, throwflag=0) at Python/ceval.c:2412 #35 0xab21f117 in fast_function (f=0x9ad651c, throwflag=0) at Python/ceval.c:3836 #36 call_function (f=0x9ad651c, throwflag=0) at Python/ceval.c:3771 #37 PyEval_EvalFrameEx (f=0x9ad651c, throwflag=0) at Python/ceval.c:2412 #38 0xab221afb in PyEval_EvalCodeEx (co=0x8b824a0, globals=0x8b7d46c, locals=0x0, args=0x870ba78, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3000 #39 0xab1ee8a3 in function_call (func=0xabfcae4, arg=0x870ba6c, kw=0x0) at Objects/funcobject.c:524 #40 0xab1e1cc0 in PyObject_Call (func=0xabfcae4, arg=0x870ba6c, kw=0x0) at Objects/abstract.c:2492 #41 0xab1e4101 in instancemethod_call (func=0xabfcae4, arg=0x870ba6c, kw=0x0) at Objects/classobject.c:2579 #42 0xab1e1cc0 in PyObject_Call (func=0x84f2aa4, arg=0x849602c, kw=0x0) at Objects/abstract.c:2492 #43 0xab21b5b6 in PyEval_CallObjectWithKeywords (func=0x84f2aa4, arg=0x849602c, kw=0x0) at Python/ceval.c:3619 #44 0xab2d972c in sip_api_invoke_slot (slot=0xaf87634, sigargs=0x849602c) at qtlib.c:203 #45 0xab0ada8d in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtCore.so #46 0xab0adb8f in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtCore.so #47 0xab0adc7b in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtCore.so #48 0xb6e79efd in QMetaObject::metacall (object=0xaf87618, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0xbfe6360c) at kernel/qmetaobject.cpp:237 #49 0xb6e88fe8 in QMetaObject::activate (sender=0xaf87200, m=0xb5e2564c, local_signal_index=1, argv=0x0) at kernel/qobject.cpp:3295 #50 0xb5dcb705 in QNetworkReply::finished (this=0xaf87200) at .moc/release-shared/moc_qnetworkreply.cpp:150 #51 0xb5d6f71f in QNetworkReplyImplPrivate::finished (this=0xaf87210) at access/qnetworkreplyimpl.cpp:547 #52 0xb5d58dce in QNetworkAccessBackend::finished (this=0xaf86d80) at access/qnetworkaccessbackend.cpp:304 #53 0xb5d5ef11 in QNetworkAccessHttpBackend::finished (this=0xaf86d80) at access/qnetworkaccesshttpbackend.cpp:336 #54 0xb5d5f3ad in QNetworkAccessHttpBackend::replyFinished (this=0xaf86d80) at access/qnetworkaccesshttpbackend.cpp:720 #55 0xb5d702e6 in QNetworkReplyImplPrivate::handleNotifications (this=0xaf87210) at access/qnetworkreplyimpl.cpp:292 #56 0xb5d7033b in QNetworkReplyImpl::event (this=0xaf87200, e=0x914dbb0) at access/qnetworkreplyimpl.cpp:746 #57 0xb63acc64 in QApplicationPrivate::notify_helper (this=0x80bdc18, receiver=0xaf87200, e=0x914dbb0) at kernel/qapplication.cpp:4302 #58 0xb63b4bf7 in QApplication::notify (this=0x80ad5e0, receiver=0xaf87200, e=0x914dbb0) at kernel/qapplication.cpp:3706 #59 0xb7492991 in KApplication::notify (this=0x80ad5e0, receiver=0xaf87200, event=0x914dbb0) at /usr/src/debug/kdelibs-4.5.4/kdeui/kernel/kapplication.cpp:310 #60 0xb6e73e0e in QCoreApplication::notifyInternal (this=0x80ad5e0, receiver=0xaf87200, event=0x914dbb0) at kernel/qcoreapplication.cpp:726 #61 0xb6e779b4 in sendEvent (receiver=0x0, event_type=0, data=0x8057368) at kernel/qcoreapplication.h:215 #62 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8057368) at kernel/qcoreapplication.cpp:1367 #63 0xb6e77b9c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1260 #64 0xb6e9f83d in sendPostedEvents (s=0x80c5d88) at kernel/qcoreapplication.h:220 #65 postEventSourceDispatch (s=0x80c5d88) at kernel/qeventdispatcher_glib.cpp:276 #66 0xb5bfab49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #67 0xb5bfb350 in ?? () from /usr/lib/libglib-2.0.so.0 #68 0xb5bfb60e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #69 0xb6e9fd4b in QEventDispatcherGlib::processEvents (this=0x80bcdf0, flags=...) at kernel/qeventdispatcher_glib.cpp:412 #70 0xb645d19a in QGuiEventDispatcherGlib::processEvents (this=0x80bcdf0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #71 0xb6e7311d in QEventLoop::processEvents (this=0xbfe63e74, flags=...) at kernel/qeventloop.cpp:149 #72 0xb6e73319 in QEventLoop::exec (this=0xbfe63e74, flags=...) at kernel/qeventloop.cpp:201 #73 0xb6e77c70 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003 #74 0xb63aa164 in QApplication::exec () at kernel/qapplication.cpp:3581 #75 0xb2dd766a in kdemain (argc=1, argv=0x80a6640) at /usr/src/debug/kdebase-workspace-4.5.4/plasma/desktop/shell/main.cpp:118 #76 0x0804e3f1 in _start ()

exeroc

is there a possibility to use your plasmoid for the scores of the French Ligue 1 ?

Fxrh

No, because the source of the widget is a german site (sportschau.de). As getting the information from the site is not the smallest part of the plasmoid imho it would make more sense if someone would create a new plasmoid for that league.

vato

Skript Initialisierung fehlgeschlagen.

Fxrh

Could you type "plasmoidviewer bundesliga-plasmoid" into konsole and post the output?

Kirilo

Doesn't work with me, too. Here's the output: cyril@linux-wrvo:~> plasmoidviewer bundesliga-plasmoid plasmoidviewer(9449)/libplasma Plasma::FrameSvg::resizeFrame: Invalid size QSizeF(0, 0) plasmoidviewer(9449)/libplasma Plasma::FrameSvg::resizeFrame: Invalid size QSizeF(0, 0) Traceback (most recent call last): File "/usr/share/kde4/apps/plasma_scriptengine_python/pyappletscript.py", line 59, in init self.module = __import__(self.pluginName+'.'+relpath) File "/usr/share/kde4/apps/plasma_scriptengine_python/plasma_importer.py", line 107, in load_module exec code in mod.__dict__ File "/home/cyril/.kde4/share/apps/plasma/plasmoids/bundesliga-plasmoid/contents/code/main.py", line 12, in <module> from PyQt4 import phonon ImportError: cannot import name phonon

Fxrh

Do you have phonon installed?

Kirilo

Yes, of course. I just tested it on my other machine: It's not working on both OpenSuse 11.3 and PCLinuxOS 2010, both with KDE SC 4.5.3. Other Python plasmoids are working well. May you have built in some non-standard dependency?

Fxrh

No, the problem is clearly Phonon. I think I have to import it differently on your distribution than on mine (Arch Linux). I should get this fixed for the next release. To be sure that I'm guessing the right problem, could you please help me one more time? Open konsole and type "python". You should get into the python console. There you type: from PyQt4 import Phonon from PyQt4 import Phonon.Phonon from PyQt4 import phonon.Phonon Exit the python console with "exit()". Could you then post which of these lines gives you errors?

Kirilo

Sure, here's the output from OpenSuse (I don't have the other machine at hand now, I'll check later): >>> from PyQt4 import Phonon Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name Phonon >>> from PyQt4 import Phonon.Phonon File "<stdin>", line 1 from PyQt4 import Phonon.Phonon ^ SyntaxError: invalid syntax >>> from PyQt4 import phonon.Phonon File "<stdin>", line 1 from PyQt4 import phonon.Phonon ^ SyntaxError: invalid syntax I've checked my packages: libphonon, python-qt4 and python-kde4 are installed.

Kirilo

Same output in PCLinuxOS, too. I've checked the python modules, there is no such module 'phonon' (or similar). BTW: Why does the plasmoid need multimedia output?

Fxrh

Hmm, ok, I don't really understand this... I use phonon for playing the notification sounds, but maybe I can make that optional. Anyway, thanks for your support on debugging this!

Pling
0 Affiliates
Details
license
version 0.1.1
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 2

Other Plasma 4 Extensions:

Icon Tasks deb build
N00bun2
last update date: 13 years ago

Score 4.3

Prayer Times Plasmoid
riyad
last update date: 13 years ago

Score 5.2

KPrayertime4 Islamic Prayer Times
ahaq
last update date: 15 years ago

Score 4.4

Hostinfo
mgraesslin
last update date: 13 years ago

Score 4.7

Monitor QuadCore Russian
kuchumovn
last update date: 16 years ago

Score 5.0

blaKjaK
werevire
last update date: 15 years ago

Score 5.0