X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FPlugin.py;h=583c9ad8486687f874587ff00c6e66dfc15eb86f;hp=b3886723e90e7c530a65b49113dc2cddaac91fa7;hb=94dd79e0b8f895f54af7b7d3a76c65f341d5f117;hpb=09f2e2935df89c375633517884682151de3d9741 diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py index b388672..583c9ad 100644 --- a/lib/python/Plugins/Plugin.py +++ b/lib/python/Plugins/Plugin.py @@ -1,5 +1,5 @@ -from enigma import loadPNG from Components.config import ConfigSubsection, config +from Tools.LoadPixmap import LoadPixmap config.plugins = ConfigSubsection() @@ -22,7 +22,7 @@ class PluginDescriptor: WHERE_PLUGINMENU = 2 # argument: session, serviceref (currently selected) WHERE_MOVIELIST = 3 - # argument: menuid. Fnc must return list with menuitems (3-tuple of name, fnc to call, entryid or None) + # argument: menuid. Fnc must return list with menuitems (4-tuple of name, fnc to call, entryid or None, weight or None) WHERE_MENU = 4 # reason (0: start, 1: end) @@ -45,7 +45,7 @@ class PluginDescriptor: # or return a function which is called with session and the interface name for extended setup of this interface WHERE_NETWORKSETUP = 10 - def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None): + def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None): self.name = name if type(where) is list: self.where = where @@ -59,13 +59,18 @@ class PluginDescriptor: else: self.icon = icon + self.wakeupfnc = wakeupfnc + self.__call__ = fnc def updateIcon(self, path): if type(self.iconstr) is str: - self.icon = loadPNG(path + "/" + self.iconstr) + self.icon = LoadPixmap(path + "/" + self.iconstr) else: self.icon = None + def getWakeupTime(self): + return self.wakeupfnc and self.wakeupfnc() or -1 + def __eq__(self, other): return self.__call__ == other.__call__