Bundesliga Plasmoid

Plasma 4 Extensions

Source (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
7 .0
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:

9 years ago

Version 0.1
* Initial release

Version 0.1.1
* make phonon usage optional

9

Kirilo

9 years ago

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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 ()

Report

exeroc

10 years ago

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

Report

C

Fxrh

9 years ago

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.

Report

3

vato

10 years ago

Skript Initialisierung fehlgeschlagen.

Report

C

Fxrh

10 years ago

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

Report

9

Kirilo

10 years ago

Doesn't work with me, too. Here's the output:

[email protected]:~> 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

Report

C

Fxrh

10 years ago

Do you have phonon installed?

Report

9

Kirilo

10 years ago

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?

Report

C

Fxrh

10 years ago

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?

Report

C

Fxrh

10 years ago

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!

Report

9

Kirilo

10 years ago

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?

Report

9

Kirilo

10 years ago

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.

Report

9 years ago

Version 0.1
* Initial release

Version 0.1.1
* make phonon usage optional

12345678910
28
product-maker Anmol Jun 25 2011 9 excellent
product-maker gehriga Feb 10 2011 9 excellent
product-maker thommys Feb 03 2011 9 excellent
product-maker greggel Jan 28 2011 9 excellent
product-maker Camberwell Dec 09 2010 9 excellent
product-maker janet Nov 24 2010 9 excellent
product-maker Kirilo Nov 22 2010 9 excellent
product-maker vato Nov 21 2010 3 bad
product-maker facksack Nov 21 2010 9 excellent
product-maker vitoubien Nov 20 2010 3 bad
Be the first to comment
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.1.1
updated Dec 05 2010
added Nov 20 2010
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0