All pastes #808315 Raw Edit

Mine

public text v1 · immutable
·published 2007-12-07 13:52 UTC
rendered paste body
Index: upnp_coherence/__init__.py
===================================================================
--- upnp_coherence/__init__.py  (revision 5480)
+++ upnp_coherence/__init__.py  (working copy)
@@ -1,6 +1,8 @@
 import rhythmdb, rb
 import gobject, gtk
 import louie
+# For the icon
+import os.path, urllib, gnomevfs, gtk.gdk
 
 
 class CoherencePlugin(rb.Plugin):
@@ -32,10 +34,30 @@
                                'Coherence.UPnP.ControlPoint.MediaServer.removed',
                                louie.Any)
 
+               # Set up our icon
+               face_path = os.path.join(os.path.expanduser('~'), ".face")
+               if os.path.exists(face_path):
+                       url = urllib.pathname2url(face_path)
+
+               if url:
+                       mimetype = gnomevfs.get_mime_type(url)
+                       pixbuf = gtk.gdk.pixbuf_new_from_file(url)
+                       width = pixbuf.get_width()
+                       height = pixbuf.get_height()
+                       channels = pixbuf.get_has_alpha()
+                       depth = pixbuf.get_bits_per_sample() * channels
+                       icon = {
+                               'url':url,
+                               'mimetype': mimetype,
+                               'width':width,
+                               'height':height,
+                               'depth':channels
+                               }
+
                # create our own media server
                from coherence.upnp.devices.media_server import MediaServer
                from MediaStore import MediaStore
-               server = MediaServer(self.coherence, MediaStore, no_thread_needed=True, db=self.shell.props.db, plugin=self)
+               server = MediaServer(self.coherence, MediaStore, no_thread_needed=True, db=self.shell.props.db, plugin=self, icon=icon)
 
        def deactivate(self, shell):
                print "coherence UPnP plugin deactivated"