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
=== modified file 'src/lib/plugins/Exaile.py'
--- src/lib/plugins/Exaile.py 2008-05-26 13:00:37 +0000
+++ src/lib/plugins/Exaile.py 2010-08-16 21:33:45 +0000
@@ -14,20 +14,15 @@
14import gobject14import gobject
15from GenericPlayer import GenericAPI15from GenericPlayer import GenericAPI
1616
17#EXAILE = {'DBUS_NAME':'org.exaile.DBusInterface','DBUS_OBJECT':'/DBusInterfaceObject', \
18# 'DBUS_TITLE':'get_title()','DBUS_ALBUM':'get_album()', \
19# 'DBUS_ARTIST':'get_artist()','DBUS_ART':'get_cover_path()',\
20# 'DBUS_PLAYING':'query()','PLAY_WORD':'playing'}
21
22class ExaileAPI(GenericAPI):17class ExaileAPI(GenericAPI):
23 __name__ = 'Exaile API'18 __name__ = 'Exaile API'
24 __version__ = '0.0'19 __version__ = '0.0'
25 __author__ = 'vrunner'20 __author__ = 'vrunner'
26 __desc__ = 'API to the Exaile Music Player'21 __desc__ = 'API to the Exaile Music Player'
2722
28 ns = "org.exaile.DBusInterface"23 ns = "org.exaile.Exaile"
29 iroot = "/DBusInterfaceObject"24 iroot = "/org/exaile/Exaile"
30 iface = "org.exaile.DBusInterface"25 iface = "org.exaile.Exaile"
3126
32 playerAPI = None27 playerAPI = None
3328
@@ -51,29 +46,39 @@
51 self.playerAPI = dbus.Interface(proxy_obj, self.iface)46 self.playerAPI = dbus.Interface(proxy_obj, self.iface)
5247
53 def get_title(self):48 def get_title(self):
54 return self.playerAPI.get_title()49 return self.playerAPI.GetTrackAttr('title')
55 50
56 def get_album(self):51 def get_album(self):
57 return self.playerAPI.get_album()52 return self.playerAPI.GetTrackAttr('album')
5853
59 def get_artist(self):54 def get_artist(self):
60 return self.playerAPI.get_artist()55 return self.playerAPI.GetTrackAttr('artist')
6156
62 def get_cover_path(self):57 def get_cover_path(self):
63 return self.playerAPI.get_cover_path()58 coverart = ""
59 coverFilePath = os.path.join(os.environ["HOME"], '.exaileCover.bmp')
60 coverData = self.playerAPI.GetCoverData()
61 if len(coverData):
62 with open(coverFilePath,'w') as coverFile:
63 for data in coverData:
64 coverFile.write(str(data))
65 coverart = coverFilePath
66 else:
67 coverart = ""
68
69 return coverart
6470
65 def is_playing(self):71 def is_playing(self):
66 if self.now_playing() == "": return False72 return self.playerAPI.IsPlaying()
67 else: return True
6873
69 def play_pause(self):74 def play_pause(self):
70 self.playerAPI.play()75 self.playerAPI.PlayPause()
7176
72 def next(self):77 def next(self):
73 self.playerAPI.next_track()78 self.playerAPI.Next()
7479
75 def previous(self):80 def previous(self):
76 self.playerAPI.prev_track()81 self.playerAPI.Prev()
7782
78 def register_change_callback(self, fn):83 def register_change_callback(self, fn):
79 self.callback_fn = fn84 self.callback_fn = fn
@@ -102,6 +107,5 @@
102 self.callback_fn()107 self.callback_fn()
103 pass108 pass
104109
105
106 def now_playing(self):110 def now_playing(self):
107 return self.get_artist()+self.get_title()111 return self.get_artist() + self.get_title()

Subscribers

People subscribed via source and target branches

to status/vote changes: