some more work on plugin manager
[enigma2.git] / lib / python / Plugins / Plugin.py
old mode 100644 (file)
new mode 100755 (executable)
index a0db1d6..d7fc689
@@ -45,16 +45,23 @@ class PluginDescriptor:
        # or return a function which is called with session and the interface name for extended setup of this interface
        WHERE_NETWORKSETUP = 10
        
+       # show up this plugin (or a choicebox with all of them) for long INFO keypress
+       # or return a function which is called with session and the interface name for extended setup of this interface
+       WHERE_EVENTINFO = 11
+
+       # reason (True: Networkconfig read finished, False: Networkconfig reload initiated )
+       WHERE_NETWORKCONFIG_READ = 12
+
        def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None, internal = False):
                self.name = name
                self.internal = internal
-               if type(where) is list:
+               if isinstance(where, list):
                        self.where = where
                else:
                        self.where = [ where ]
                self.description = description
 
-               if type(icon) is str or icon is None:
+               if icon is None or isinstance(icon, str):
                        self.iconstr = icon
                        self.icon = None
                else:
@@ -65,8 +72,8 @@ class PluginDescriptor:
                self.__call__ = fnc
 
        def updateIcon(self, path):
-               if type(self.iconstr) is str:
-                       self.icon = LoadPixmap(path + "/" + self.iconstr)
+               if isinstance(self.iconstr, str):
+                       self.icon = LoadPixmap('/'.join((path, self.iconstr)))
                else:
                        self.icon = None