All pastes #973970 Raw Edit

Stuff

public text v1 · immutable
·published 2008-04-06 13:35 UTC
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)