Merge lp:~gregory-lachowski/screenlets/nowplaying-exaile into lp:screenlets

Proposed by Grzegorz Lachowski
Status: Needs review
Proposed branch: lp:~gregory-lachowski/screenlets/nowplaying-exaile
Merge into: lp:screenlets
Diff against target: 84 lines (+23/-19)
1 file modified
src/lib/plugins/Exaile.py (+23/-19)
To merge this branch: bzr merge lp:~gregory-lachowski/screenlets/nowplaying-exaile
Reviewer Review Type Date Requested Status
Screenlets Dev Team Pending
Review via email: mp+32817@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

462. By gregorl <gregorl@chii>

Exaile API for NowPlaying screenlet fix

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/lib/plugins/Exaile.py'
2--- src/lib/plugins/Exaile.py 2008-05-26 13:00:37 +0000
3+++ src/lib/plugins/Exaile.py 2010-08-16 21:33:45 +0000
4@@ -14,20 +14,15 @@
5 import gobject
6 from GenericPlayer import GenericAPI
7
8-#EXAILE = {'DBUS_NAME':'org.exaile.DBusInterface','DBUS_OBJECT':'/DBusInterfaceObject', \
9-# 'DBUS_TITLE':'get_title()','DBUS_ALBUM':'get_album()', \
10-# 'DBUS_ARTIST':'get_artist()','DBUS_ART':'get_cover_path()',\
11-# 'DBUS_PLAYING':'query()','PLAY_WORD':'playing'}
12-
13 class ExaileAPI(GenericAPI):
14 __name__ = 'Exaile API'
15 __version__ = '0.0'
16 __author__ = 'vrunner'
17 __desc__ = 'API to the Exaile Music Player'
18
19- ns = "org.exaile.DBusInterface"
20- iroot = "/DBusInterfaceObject"
21- iface = "org.exaile.DBusInterface"
22+ ns = "org.exaile.Exaile"
23+ iroot = "/org/exaile/Exaile"
24+ iface = "org.exaile.Exaile"
25
26 playerAPI = None
27
28@@ -51,29 +46,39 @@
29 self.playerAPI = dbus.Interface(proxy_obj, self.iface)
30
31 def get_title(self):
32- return self.playerAPI.get_title()
33+ return self.playerAPI.GetTrackAttr('title')
34
35 def get_album(self):
36- return self.playerAPI.get_album()
37+ return self.playerAPI.GetTrackAttr('album')
38
39 def get_artist(self):
40- return self.playerAPI.get_artist()
41+ return self.playerAPI.GetTrackAttr('artist')
42
43 def get_cover_path(self):
44- return self.playerAPI.get_cover_path()
45+ coverart = ""
46+ coverFilePath = os.path.join(os.environ["HOME"], '.exaileCover.bmp')
47+ coverData = self.playerAPI.GetCoverData()
48+ if len(coverData):
49+ with open(coverFilePath,'w') as coverFile:
50+ for data in coverData:
51+ coverFile.write(str(data))
52+ coverart = coverFilePath
53+ else:
54+ coverart = ""
55+
56+ return coverart
57
58 def is_playing(self):
59- if self.now_playing() == "": return False
60- else: return True
61+ return self.playerAPI.IsPlaying()
62
63 def play_pause(self):
64- self.playerAPI.play()
65+ self.playerAPI.PlayPause()
66
67 def next(self):
68- self.playerAPI.next_track()
69+ self.playerAPI.Next()
70
71 def previous(self):
72- self.playerAPI.prev_track()
73+ self.playerAPI.Prev()
74
75 def register_change_callback(self, fn):
76 self.callback_fn = fn
77@@ -102,6 +107,5 @@
78 self.callback_fn()
79 pass
80
81-
82 def now_playing(self):
83- return self.get_artist()+self.get_title()
84+ return self.get_artist() + self.get_title()

Subscribers

People subscribed via source and target branches

to status/vote changes: