X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FPlugin.py;h=3a79e396325d7feb4de640ff722468a6da83f3fd;hb=10d4bf75934081d097b5e5ccde535d2b47efb2de;hp=0378ce4cc206b72187f266a912047ba98b3d4d7f;hpb=3ad1f5540aa20e5b8132ededc367d8f319b2d5dd;p=vuplus_dvbapp diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py index 0378ce4..3a79e39 100644 --- a/lib/python/Plugins/Plugin.py +++ b/lib/python/Plugins/Plugin.py @@ -11,8 +11,10 @@ class PluginDescriptor: # servicereference # reason + # you have to ignore unknown kwargs! + # argument: session - WHERE_BLUEMENU = 0 + WHERE_EXTENSIONSMENU = 0 WHERE_MAINMENU = 1 WHERE_PLUGINMENU = 2 # argument: session, serviceref (currently selected) @@ -26,6 +28,13 @@ class PluginDescriptor: # start as wizard. In that case, fnc must be a screen class! WHERE_WIZARD = 6 + # like autostart, but for a session. currently, only session starts are + # delivered, and only on pre-loaded plugins + WHERE_SESSIONSTART = 7 + + # start as teletext plugin. arguments: session, serviceref + WHERE_TELETEXT = 8 + def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None): self.name = name if type(where) is list: @@ -34,13 +43,19 @@ class PluginDescriptor: self.where = [ where ] self.description = description - self.iconstr = icon - self.icon = None + 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__