tarmack / pythagora Goto Github PK
View Code? Open in Web Editor NEWMPD frontend using Qt and KDE, written in python.
Home Page: http://www.tarmack.eu/pythagora
MPD frontend using Qt and KDE, written in python.
Home Page: http://www.tarmack.eu/pythagora
running 026a352 on python 2.6.5 I get:
./pythagora
error: [Errno 2] No such file or directory: '/home/kosh/Music/shoutcast-bookmarks.xml'
Traceback (most recent call last):
File "/share/projekte/pythagora/LibraryForm.py", line 94, in reload
self.albumdict[album] = self.albumdict.get(album, [])+[song]
TypeError: unhashable type: 'list'
Current playlist is populated correctly, but the artist/track/album panels remain empty.
python-mpd is at 0.2.1
pythagora does not connect to mpd, here is the output it writes to the terminal:
mpdunicode: Using python-mpd version 3.0 or later.
Fontconfig warning: "/etc/fonts/infinality/conf.d/41-repl-os-win.conf", line 148: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/infinality/conf.d/41-repl-os-win.conf", line 160: Having multiple values in <test> isn't supported and may not work as expected
QSystemTrayIcon::setVisible: No Icon set
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
Fontconfig warning: "/etc/fonts/infinality/conf.d/41-repl-os-win.conf", line 148: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/infinality/conf.d/41-repl-os-win.conf", line 160: Having multiple values in <test> isn't supported and may not work as expected
kbuildsycoca4 running...
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
Fontconfig warning: "/etc/fonts/infinality/conf.d/41-repl-os-win.conf", line 148: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/infinality/conf.d/41-repl-os-win.conf", line 160: Having multiple values in <test> isn't supported and may not work as expected
QDBusConnection: name 'org.kde.kglobalaccel' had owner '' but we thought it was ':1.58'
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/share/Pythagora/mpdthreaded.py", line 285, in run
func(*args)
File "/usr/share/Pythagora/models/manager.py", line 62, in <lambda>
lambda status, changes=changes: self._progressChanges(changes, status))
File "/usr/share/Pythagora/models/manager.py", line 81, in _progressChanges
self.playerState.update(status)
File "/usr/share/Pythagora/models/state.py", line 102, in update
self._setState('xFade', status['xfade'])
KeyError: 'xfade'
java version "1.7.0_45"
OpenJDK Runtime Environment (IcedTea 2.4.3) (ArchLinux build 7.u45_2.4.3-1-x86_64)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
The program simply does nothing, no lists, no playlists, no directory listing whatsoever. The browser works.
Hi again,
Using latest revision, the Shoutcast browser part isn't showing, and the following error is displayed in the console:
Traceback (most recent call last):
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 44, in event
if event.type() == QEvent.Paint:
NameError: global name 'QEvent' is not defined
Adding QEvent to the end of:
from PyQt4.QtCore import SIGNAL, Qt, QUrl, QDateTime
fixes it.
Cheers :)
~> pythagora
mpdunicode: Using python-mpd version 3.0 or later.
ERROR: Invalid browser function table. Some functionality may be restricted.
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (ArchLinux-6.b24_1.11.1-3-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
Traceback (most recent call last):
File "/usr/share/Pythagora/plugins/IcecastForm.py", line 62, in _processLink
self._playStation(urlString, urlMatch)
File "/usr/share/Pythagora/plugins/IcecastForm.py", line 76, in _playStation
adrlist = streamTools._parseM3U(data)
AttributeError: 'module' object has no attribute '_parseM3U'
Traceback (most recent call last):
File "/usr/share/Pythagora/plugins/IcecastForm.py", line 62, in _processLink
self._playStation(urlString, urlMatch)
File "/usr/share/Pythagora/plugins/IcecastForm.py", line 74, in _playStation
adrlist = streamTools._parseXSPF(data)
AttributeError: 'module' object has no attribute '_parseXSPF'
Traceback (most recent call last):
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 71, in _processLink
self._playStation(url.toString())
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 80, in _playStation
adrlist = streamTools._parsePLS(data)
AttributeError: 'module' object has no attribute '_parsePLS'
Traceback (most recent call last):
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 71, in _processLink
self._playStation(url.toString())
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 80, in _playStation
adrlist = streamTools._parsePLS(data)
AttributeError: 'module' object has no attribute '_parsePLS'
When mpd swaps two songs the playlist loses track of the songs in between.
This command is not used in Pythagora but it is possible that another client swaps songs. Causing Pythagora to get confused.
This is what I get when I run latest pythagora:
mpdunicode: Using python-mpd version 3.0 or later.
Traceback (most recent call last):
File "pythagora", line 558, in
main()
File "pythagora", line 78, in main
view = Manager(app)
File "pythagora", line 99, in init
self.view = MainWindow.View(self.config, self.mpdclient, self.library, app)
File "/usr/share/Pythagora/MainWindow.py", line 66, in init
self.currentList = CurrentPlaylistForm.CurrentPlaylistForm(self, self.app, self.mpdclient, self.library, self.config)
File "/usr/share/Pythagora/CurrentPlaylistForm.py", line 63, in init
self.currentList.horizontalHeader().setResizeMode(1)
AttributeError: 'QListView' object has no attribute 'horizontalHeader'
Using Arch Linux and python-mpd 0.3.0, Pythagora refuses to start with the following output:
Traceback (most recent call last):
File "pythagora", line 379, in <module>
main()
File "pythagora", line 47, in main
view = Manager(app)
File "pythagora", line 62, in __init__
self.mpdclient = mpd.MPDClient()
File "/usr/share/Pythagora/mpdthreaded.py", line 49, in __init__
self.connection = MPDThread(None, None, None, None)
File "/usr/share/Pythagora/mpdthreaded.py", line 100, in __init__
super(MPDThread, self).__init__()
File "/usr/share/Pythagora/mpdunicode.py", line 41, in __init__
self._commands.update({'rescan': self._getitem
File "/usr/lib/python2.7/site-packages/mpd.py", line 166, in __getattr__
(self.__class__.__name__, attr))
AttributeError: 'MPDThread' object has no attribute '_getitem'
Cheers :)
Thanks for the fine gift.
On a pure Qt environment (Ubuntu minimal 12.10 + Fluxbox), if I cd into the extracted Pythagora archive and enter "./pythagora" everything's fine (all the icons appear), but if I launch it by Fluxbox menu ––exec {/home/burak/Pythagora/pythagora}–– icons dissappear. My icon theme is Oxygen. Can you help?
When I start pythagora, I get this message:
mpdunicode: Using python-mpd version 3.0 or later.
Traceback (most recent call last):
File "pythagora", line 28, in <module>
import MainWindow
File "/usr/share/Pythagora/MainWindow.py", line 32, in <module>
import plugins
File "/usr/share/Pythagora/plugins/__init__.py", line 7, in <module>
_imports = __import__('plugins', fromlist=_pluginList)
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 19, in <module>
from PyQt4.QtWebKit import QWebView, QWebPage
ImportError: No module named QtWebKit
I do have qtwebkit installed.
Pythagora(13516)/ KSharedDataCache::Private::mapSharedMemory: Opening cache "/var/tmp/kdecache-wodka/icon-cache.kcache" page size is 4096
Pythagora(13516)/ KSharedDataCache::Private::mapSharedMemory: Attached to cache, determining if it must be initialized
Pythagora(13516)/ KSharedDataCache::Private::mapSharedMemory: Cache fully initialized -- attached to memory mapping
Pythagora(13516)/ KSharedDataCache::Private::mapSharedMemory: 4440064 bytes available out of 10485760
Traceback (most recent call last):
File "pythagora", line 434, in
main()
File "pythagora", line 51, in main
view = Manager(app)
File "pythagora", line 70, in init
MainWindow.View.init(self, self.config, self.mpdclient, app)
File "/home/wodka/Downloads/tarmack-Pythagora-060c993/MainWindow.py", line 71, in init
self.createViews()
File "/home/wodka/Downloads/tarmack-Pythagora-060c993/MainWindow.py", line 163, in createViews
self.currentList = CurrentPlaylistForm.CurrentPlaylistForm(self.view, self.app, self.mpdclient, self.config)
File "/home/wodka/Downloads/tarmack-Pythagora-060c993/CurrentPlaylistForm.py", line 84, in init
view.connect(self.view.currentList,SIGNAL('indexesMoved(constQModelIndexList&)'),doprint)
TypeError: type 'constQModelIndexList&' is not supported as a slot argument type
Thanks for sorting the python-mpd issue so quickly - have got Pythagora running now (& liking it), but found a small problem: the Shoutcast genre list is empty, and pressing the Reload button causes the following:
Traceback (most recent call last):
File "/usr/share/Pythagora/plugins/ShoutcastForm.py", line 101, in __loadGenres
genrelist = self.client.getGenereList()
File "/usr/share/Pythagora/shoutcast.py", line 46, in getGenereList
xml = ET.XML(data)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1283, in XML
return parser.close()
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1636, in close
self._raiseerror(v)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1488, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: no element found: line 1, column 0
If it's referring to the shoutcast-bookmarks.xml file, this is the current contents:
Cheers once again :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.