From f53d57b902b71708f05a3125872ec5d34ebe65b9 Mon Sep 17 00:00:00 2001 From: Armin Date: Thu, 9 Apr 2015 20:11:11 +0200 Subject: fix: OboomCom and SmoozedCom with beaker >= v1.7.x fix: run plugins this fix makes the plugin attribute "__name" obsolet --- pyload/manager/Account.py | 2 +- pyload/manager/Addon.py | 17 ++++++++--------- pyload/manager/Plugin.py | 4 +++- 3 files changed, 12 insertions(+), 11 deletions(-) (limited to 'pyload/manager') diff --git a/pyload/manager/Account.py b/pyload/manager/Account.py index 2631e1c7d..12fc970c2 100644 --- a/pyload/manager/Account.py +++ b/pyload/manager/Account.py @@ -176,7 +176,7 @@ class AccountManager(object): if self.accounts[p]: p = self.getAccountPlugin(p) if p: - data[p.__name] = p.getAllAccounts(force) + data[p.__class__.__name__] = p.getAllAccounts(force) else: #@NOTE: When an account has been skipped, p is None data[p] = [] else: diff --git a/pyload/manager/Addon.py b/pyload/manager/Addon.py index 164068634..6a9c59c45 100644 --- a/pyload/manager/Addon.py +++ b/pyload/manager/Addon.py @@ -71,7 +71,7 @@ class AddonManager(object): try: return func(*args) except Exception, e: - args[0].log.error(_("Error executing addon: %s") % e) + args[0].core.log.error(_("Error executing addon: %s") % e) if args[0].core.debug: traceback.print_exc() @@ -105,7 +105,6 @@ class AddonManager(object): for pluginname in self.core.pluginManager.addonPlugins: try: - # hookClass = getattr(plugin, plugin.__name) if self.core.config.getPlugin(pluginname, "activated"): pluginClass = self.core.pluginManager.loadClass("addon", pluginname) if not pluginClass: @@ -113,15 +112,15 @@ class AddonManager(object): plugin = pluginClass(self.core, self) plugins.append(plugin) - self.pluginMap[pluginClass.__name] = plugin + self.pluginMap[pluginClass.__name__] = plugin if plugin.isActivated(): - active.append(pluginClass.__name) + active.append(pluginClass.__name__) else: deactive.append(pluginname) except Exception: self.core.log.warning(_("Failed activating %(name)s") % {"name": pluginname}) - if self.core.debug: + if self.core.debug or True: traceback.print_exc() self.core.log.info(_("Activated addons: %s") % ", ".join(sorted(active))) @@ -141,7 +140,7 @@ class AddonManager(object): def activateAddon(self, pluginname): # check if already loaded for inst in self.plugins: - if inst.__name == pluginname: + if inst.__class__.__name__ == pluginname: return pluginClass = self.core.pluginManager.loadClass("addon", pluginname) @@ -153,14 +152,14 @@ class AddonManager(object): addon = pluginClass(self.core, self) self.plugins.append(addon) - self.pluginMap[pluginClass.__name] = addon + self.pluginMap[pluginClass.__name__] = addon addon.activate() def deactivateAddon(self, pluginname): for plugin in self.plugins: - if plugin.__name == pluginname: + if plugin.__class__.__name__ == pluginname: addon = plugin break else: @@ -174,7 +173,7 @@ class AddonManager(object): self.core.log.debug("Removed callback: %s" % self.core.scheduler.removeJob(addon.cb)) self.plugins.remove(addon) - del self.pluginMap[addon.__name] + del self.pluginMap[addon.__class__.__name__] @try_catch diff --git a/pyload/manager/Plugin.py b/pyload/manager/Plugin.py index 72fabb33a..99778c3f3 100644 --- a/pyload/manager/Plugin.py +++ b/pyload/manager/Plugin.py @@ -60,7 +60,9 @@ class PluginManager(object): self.plugins[type] = self.parse(type) setattr(self, "%sPlugins" % type, self.plugins[type]) - self.plugins['addon'] = self.addonPlugins.update(self.hookPlugins) + # ???????? i don't understand this + # self.plugins['addon'] = self.addonPlugins.update(self.hookPlugins) + # ???????? self.core.log.debug("Created index of plugins") -- cgit v1.2.3 From 48a492bcffbf795577fed9f9b03b1e304c91409e Mon Sep 17 00:00:00 2001 From: Armin Date: Fri, 10 Apr 2015 01:07:51 +0200 Subject: more fixes. now running all plugins --- pyload/manager/Addon.py | 47 ++++++++++++++++++++++++----------------------- pyload/manager/Plugin.py | 10 +++------- 2 files changed, 27 insertions(+), 30 deletions(-) (limited to 'pyload/manager') diff --git a/pyload/manager/Addon.py b/pyload/manager/Addon.py index 6a9c59c45..0bd51c943 100644 --- a/pyload/manager/Addon.py +++ b/pyload/manager/Addon.py @@ -100,31 +100,32 @@ class AddonManager(object): def createIndex(self): plugins = [] - active = [] - deactive = [] - for pluginname in self.core.pluginManager.addonPlugins: - try: - if self.core.config.getPlugin(pluginname, "activated"): - pluginClass = self.core.pluginManager.loadClass("addon", pluginname) - if not pluginClass: - continue - - plugin = pluginClass(self.core, self) - plugins.append(plugin) - self.pluginMap[pluginClass.__name__] = plugin - if plugin.isActivated(): - active.append(pluginClass.__name__) - else: - deactive.append(pluginname) - - except Exception: - self.core.log.warning(_("Failed activating %(name)s") % {"name": pluginname}) - if self.core.debug or True: - traceback.print_exc() + for type in ("addon", "hook"): + active = [] + deactive = [] + for pluginname in getattr(self.core.pluginManager, "%sPlugins" % type): + try: + if self.core.config.getPlugin("%s_%s" % (pluginname, type), "activated"): + pluginClass = self.core.pluginManager.loadClass(type, pluginname) + if not pluginClass: + continue + + plugin = pluginClass(self.core, self) + plugins.append(plugin) + self.pluginMap[pluginClass.__name__] = plugin + if plugin.isActivated(): + active.append(pluginClass.__name__) + else: + deactive.append(pluginname) + + except Exception: + self.core.log.warning(_("Failed activating %(name)s") % {"name": pluginname}) + if self.core.debug or True: + traceback.print_exc() - self.core.log.info(_("Activated addons: %s") % ", ".join(sorted(active))) - self.core.log.info(_("Deactivated addons: %s") % ", ".join(sorted(deactive))) + self.core.log.info(_("Activated %ss: %s") % (type, ", ".join(sorted(active)))) + self.core.log.info(_("Deactivated %ss: %s") % (type, ", ".join(sorted(deactive)))) self.plugins = plugins diff --git a/pyload/manager/Plugin.py b/pyload/manager/Plugin.py index 99778c3f3..f1899c0a0 100644 --- a/pyload/manager/Plugin.py +++ b/pyload/manager/Plugin.py @@ -60,10 +60,6 @@ class PluginManager(object): self.plugins[type] = self.parse(type) setattr(self, "%sPlugins" % type, self.plugins[type]) - # ???????? i don't understand this - # self.plugins['addon'] = self.addonPlugins.update(self.hookPlugins) - # ???????? - self.core.log.debug("Created index of plugins") @@ -145,7 +141,7 @@ class PluginManager(object): # internals have no config if folder == "internal": - self.core.config.deleteConfig(name) + self.core.config.deleteConfig("internal") continue config = self.CONFIG.findall(content) @@ -163,7 +159,7 @@ class PluginManager(object): if folder not in ("account", "internal") and not [True for item in config if item[0] == "activated"]: config.insert(0, ["activated", "bool", "Activated", False if folder in ("addon", "hook") else True]) - self.core.config.addPluginConfig(name, config, desc) + self.core.config.addPluginConfig("%s_%s" % (name, folder), config, desc) except Exception: self.core.log.error("Invalid config in %s: %s" % (name, config)) @@ -173,7 +169,7 @@ class PluginManager(object): config = (["activated", "bool", "Activated", False],) try: - self.core.config.addPluginConfig(name, config, desc) + self.core.config.addPluginConfig("%s_%s" % (name, folder), config, desc) except Exception: self.core.log.error("Invalid config in %s: %s" % (name, config)) -- cgit v1.2.3 From cc07ae19adcb97e9ab9748c7a317ef4b36f73935 Mon Sep 17 00:00:00 2001 From: Armin Date: Fri, 10 Apr 2015 14:44:36 +0200 Subject: added: configdata of deleted or outdated plugins are deletedfrom config file --- pyload/manager/Plugin.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pyload/manager') diff --git a/pyload/manager/Plugin.py b/pyload/manager/Plugin.py index f1899c0a0..222ed9c93 100644 --- a/pyload/manager/Plugin.py +++ b/pyload/manager/Plugin.py @@ -55,10 +55,15 @@ class PluginManager(object): sys.path.append(abspath("")) self.loadTypes() + + configs = [] for type in self.TYPES: self.plugins[type] = self.parse(type) setattr(self, "%sPlugins" % type, self.plugins[type]) + configs.extend("%s_%s" % (p, type) for p in self.plugins[type]) + + self.core.config.removeDeletedPlugins(configs) self.core.log.debug("Created index of plugins") -- cgit v1.2.3