X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FPlugin.py;h=5a676cdadaf4ca8bfd2c5675f3bea90b81e11c80;hp=6df4fce74a87b075819c93ff65d72404594e5fc2;hb=c437ed274b0155ecdeb7382d6ee46d67a53755b9;hpb=a34ef895210161a8820e96829ac87806566e7858 diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py old mode 100644 new mode 100755 index 6df4fce..5a676cd --- a/lib/python/Plugins/Plugin.py +++ b/lib/python/Plugins/Plugin.py @@ -49,16 +49,28 @@ class PluginDescriptor: # 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 + + WHERE_AUDIOMENU = 13 + + # fnc 'SoftwareSupported' or 'AdvancedSoftwareSupported' must take a parameter and return None + # if the plugin should not be displayed inside Softwaremanger or return a function which is called with session + # and 'None' as parameter to call the plugin from the Softwaremanager menus. "menuEntryName" and "menuEntryDescription" + # should be provided to name and describe the new menu entry. + WHERE_SOFTWAREMANAGER = 14 + + 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: @@ -69,8 +81,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