# build a diff between the old list of plugins and the new one
# internally, the "fnc" argument will be compared with __eq__
plugins_added = [p for p in new_plugins if p not in self.pluginList]
- plugins_removed = [p for p in self.pluginList if p not in new_plugins]
+ plugins_removed = [p for p in self.pluginList if not p.internal and p not in new_plugins]
for p in plugins_removed:
self.removePlugin(p)
if type(where) is not list:
where = [ where ]
res = [ ]
+
for x in where:
for p in self.plugins.get(x, [ ]):
res.append(p)
# 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, wakeupfnc = None):
+ 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:
self.where = where
else: