rendered paste body--- /tmp/rb-im-status-0.7/__init__.py 2008-04-06 14:55:36.000000000 +0200
+++ __init__.py 2008-04-06 15:33:44.000000000 +0200
@@ -66,6 +66,7 @@
self.restore_status ()
def playing_changed (self, sp, playing):
+ self.stream_info = {}
if playing:
self.set_entry (sp.get_playing_entry ())
else:
@@ -73,12 +74,17 @@
self.restore_status ()
def playing_entry_changed (self, sp, entry):
+ self.stream_info = {}
if sp.get_playing ():
self.set_entry (entry)
def playing_song_property_changed (self, sp, uri, property, old, new):
if sp.get_playing () and (property == "artist" or property == "title"):
self.set_status_from_entry ()
+ if sp.get_playing () and property in ('rb:stream-song-title', 'rb:stream-song-artist'):
+ self.stream_info[property] = new
+ if len(self.stream_info.keys()) == 2:
+ self.set_status_from_stream ()
def set_entry (self, entry):
if entry == self.current_entry:
@@ -102,6 +108,12 @@
new_status = _(u"♫ %s - %s ♫") % (artist, song)
self.set_status (new_status)
+ def set_status_from_stream (self):
+ new_status = _(u"♫ %s - %s ♫") % (
+ self.stream_info.get('rb:stream-song-artist'),
+ new_status = _(u"♫ %s - %s ♫") % (
+ self.stream_info.get('rb:stream-song-artist'),
+ self.stream_info.get('rb:stream-song-title'))
+ self.set_status (new_status)
+
def set_status (self, new_status):
self.set_gossip_status (new_status)
self.set_empathy_status (new_status)