plugin api change: Plugins() and main functions must receive (and possibly ignore...
[enigma2.git] / lib / python / Plugins / Plugin.py
index bfa8509addcc7980cf8eea89c1ee5c6a44271eb7..2c8d9296f111c2209dd6b2df5cc67b3279097e0b 100644 (file)
@@ -11,6 +11,8 @@ class PluginDescriptor:
        #   servicereference
        #   reason
        
+       # you have to ignore unknown kwargs!
+       
        # argument: session
        WHERE_BLUEMENU = 0
        WHERE_MAINMENU = 1
@@ -34,12 +36,19 @@ class PluginDescriptor:
                        self.where = [ where ]
                self.description = description
 
-               self.iconstr = icon
+               if type(icon) is str or icon is None:
+                       self.iconstr = icon
+                       self.icon = None
+               else:
+                       self.icon = icon
 
                self.__call__ = fnc
 
        def updateIcon(self, path):
                if type(self.iconstr) is str:
-                       self.icon = loadPNG(path + self.iconstr)
+                       self.icon = loadPNG(path + "/" + self.iconstr)
                else:
                        self.icon = None
+
+       def __eq__(self, other):
+               return self.__call__ == other.__call__