From 0e1ef9bc01579328e17e79416fa3c1c7b77adcc8 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 8 Jun 2015 06:08:01 +0200 Subject: Update everything --- module/plugins/internal/MultiHook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 01ff4b07d..4a2c6654b 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -4,14 +4,14 @@ import re import time import traceback -from module.plugins.Hook import Hook +from module.plugins.internal.Hook import Hook from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.45" + __version__ = "0.46" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), -- cgit v1.2.3 From 2b1399197d6090e8672edabbbfaa59d0ecb4ce8d Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 15 Jun 2015 06:54:39 +0200 Subject: Fix https://github.com/pyload/pyload/issues/1498 --- module/plugins/internal/MultiHook.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 4a2c6654b..0a85ba277 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.46" + __version__ = "0.47" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), @@ -106,15 +106,6 @@ class MultiHook(Hook): return rep - def getConfig(self, option, default=''): #@TODO: Remove in 0.4.10 - """getConfig with default value - sublass may not implements all config options""" - try: - return self.getConf(option) - - except KeyError: - return default - - def pluginsCached(self): if self.plugins: return self.plugins -- cgit v1.2.3 From d79f089fd47ba664cf9c3136b70961727b00bbe5 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 15 Jun 2015 07:11:45 +0200 Subject: Fix https://github.com/pyload/pyload/issues/1498 (2) --- module/plugins/internal/MultiHook.py | 37 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 23 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 0a85ba277..bde0b7dc6 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.47" + __version__ = "0.48" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), @@ -93,8 +93,12 @@ class MultiHook(Hook): self.setConfig('activated', False) + def activate(self): + self.initPeriodical(threaded=True) + + def getURL(self, *args, **kwargs): #@TODO: Remove in 0.4.10 - """ see HTTPRequest for argument list """ + """See HTTPRequest for argument list""" h = pyreq.getHTTPRequest(timeout=120) try: if not 'decode' in kwargs: @@ -124,9 +128,9 @@ class MultiHook(Hook): return list() try: - configmode = self.getConfig("pluginmode", 'all') + configmode = self.getConfig('pluginmode', 'all') if configmode in ("listed", "unlisted"): - pluginlist = self.getConfig("pluginlist", '').replace('|', ',').replace(';', ',').split(',') + pluginlist = self.getConfig('pluginlist', '').replace('|', ',').replace(';', ',').split(',') configset = self._pluginSet(pluginlist) if configmode == "listed": @@ -155,33 +159,20 @@ class MultiHook(Hook): def getHosters(self): - """Load list of supported hoster + """ + Load list of supported hoster :return: List of domain names """ raise NotImplementedError - #: Threaded _periodical, remove in 0.4.10 and use built-in flag for that - def _periodical(self): - try: - if self.isActivated(): - self.periodical() - - except Exception, e: - self.core.log.error(_("Error executing hooks: %s") % str(e)) - if self.core.debug: - traceback.print_exc() - - self.cb = self.core.scheduler.addJob(self.interval, self._periodical) - - def periodical(self): - """reload plugin list periodically""" + """Reload plugin list periodically""" self.loadAccount() - if self.getConfig("reload", True): - self.interval = max(self.getConfig("reloadinterval", 12) * 60 * 60, self.MIN_RELOAD_INTERVAL) + if self.getConfig('reload', True): + self.interval = max(self.getConfig('reloadinterval', 12) * 60 * 60, self.MIN_RELOAD_INTERVAL) else: self.core.scheduler.removeJob(self.cb) self.cb = None @@ -247,7 +238,7 @@ class MultiHook(Hook): # create new regexp regexp = r'.*(?P%s).*' % "|".join(x.replace('.', '\.') for x in plugins) - if hasattr(self.pluginclass, "__pattern__") and isinstance(self.pluginclass.__pattern__, basestring) and '://' in self.pluginclass.__pattern__: + if hasattr(self.pluginclass, "__pattern__") and isinstance(self.pluginclass.__pattern__, basestring) and "://" in self.pluginclass.__pattern__: regexp = r'%s|%s' % (self.pluginclass.__pattern__, regexp) self.logDebug("Regexp: %s" % regexp) -- cgit v1.2.3 From c9144f451b74e4d3cc67935b9e73c662ac870c6e Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 15 Jun 2015 07:18:39 +0200 Subject: Hook plugin code cosmetics (2) --- module/plugins/internal/MultiHook.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index bde0b7dc6..a45d52e8a 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -258,7 +258,7 @@ class MultiHook(Hook): hdict.pop('new_name', None) - def unload(self): + def deactivate(self): """Remove override for all plugins. Scheduler job is removed by hookmanager""" for plugin in self.supported: self.unloadPlugin(plugin) -- cgit v1.2.3 From 12b883227b113efaf33d48e9158fc3d76d3aa490 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 15 Jun 2015 18:09:18 +0200 Subject: [MultiHook] Update --- module/plugins/internal/MultiHook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index a45d52e8a..10b2e7b0e 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.48" + __version__ = "0.49" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), @@ -94,7 +94,7 @@ class MultiHook(Hook): def activate(self): - self.initPeriodical(threaded=True) + self.init_periodical(threaded=True) def getURL(self, *args, **kwargs): #@TODO: Remove in 0.4.10 -- cgit v1.2.3 From c1764e2fea0bb05164c83a876e8cd58b97f58f25 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 16 Jun 2015 17:31:38 +0200 Subject: Update all --- module/plugins/internal/MultiHook.py | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 10b2e7b0e..0bcab5915 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -55,8 +55,6 @@ class MultiHook(Hook): def setup(self): - self.info = {} #@TODO: Remove in 0.4.10 - self.plugins = [] self.supported = [] self.new_supported = [] @@ -97,19 +95,6 @@ class MultiHook(Hook): self.init_periodical(threaded=True) - def getURL(self, *args, **kwargs): #@TODO: Remove in 0.4.10 - """See HTTPRequest for argument list""" - h = pyreq.getHTTPRequest(timeout=120) - try: - if not 'decode' in kwargs: - kwargs['decode'] = True - rep = h.load(*args, **kwargs) - finally: - h.close() - - return rep - - def pluginsCached(self): if self.plugins: return self.plugins -- cgit v1.2.3 From 164512b6a74c94a731fcee7435dce1ccfa2f71e7 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 17 Jun 2015 18:29:50 +0200 Subject: Spare code cosmetics --- module/plugins/internal/MultiHook.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 0bcab5915..739b225b4 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -153,7 +153,9 @@ class MultiHook(Hook): def periodical(self): - """Reload plugin list periodically""" + """ + Reload plugin list periodically + """ self.loadAccount() if self.getConfig('reload', True): @@ -244,7 +246,9 @@ class MultiHook(Hook): def deactivate(self): - """Remove override for all plugins. Scheduler job is removed by hookmanager""" + """ + Remove override for all plugins. Scheduler job is removed by hookmanager + """ for plugin in self.supported: self.unloadPlugin(plugin) -- cgit v1.2.3 From 20b6a2ec022202b0efb6cb69415239fb8f4d1445 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 17 Jun 2015 18:59:20 +0200 Subject: Spare code cosmetics (2) --- module/plugins/internal/MultiHook.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 739b225b4..22b0fd7c6 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -207,7 +207,7 @@ class MultiHook(Hook): self.logError(_("No %s loaded") % self.plugintype) return - # inject plugin plugin + #: inject plugin plugin self.logDebug("Overwritten %ss: %s" % (self.plugintype, ", ".join(sorted(self.supported)))) for plugin in self.supported: @@ -223,7 +223,7 @@ class MultiHook(Hook): self.logDebug("New %ss: %s" % (self.plugintype, ", ".join(plugins))) - # create new regexp + #: create new regexp regexp = r'.*(?P%s).*' % "|".join(x.replace('.', '\.') for x in plugins) if hasattr(self.pluginclass, "__pattern__") and isinstance(self.pluginclass.__pattern__, basestring) and "://" in self.pluginclass.__pattern__: regexp = r'%s|%s' % (self.pluginclass.__pattern__, regexp) @@ -252,7 +252,7 @@ class MultiHook(Hook): for plugin in self.supported: self.unloadPlugin(plugin) - # reset pattern + #: reset pattern hdict = self.core.pluginManager.plugins[self.plugintype][self.pluginname] hdict['pattern'] = getattr(self.pluginclass, "__pattern__", r'^unmatchable$') -- cgit v1.2.3 From b1759bc440cd6013837697eb8de540914f693ffd Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 7 Jul 2015 01:23:55 +0200 Subject: No camelCase style anymore --- module/plugins/internal/MultiHook.py | 68 ++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 34 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 22b0fd7c6..623836cdc 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.49" + __version__ = "0.50" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), @@ -65,10 +65,10 @@ class MultiHook(Hook): self.pluginname = None self.plugintype = None - self.initPlugin() + self.init_plugin() - def initPlugin(self): + def init_plugin(self): self.pluginname = self.__name__.rsplit("Hook", 1)[0] plugin, self.plugintype = self.core.pluginManager.findPlugin(self.pluginname) @@ -76,47 +76,47 @@ class MultiHook(Hook): self.pluginmodule = self.core.pluginManager.loadModule(self.plugintype, self.pluginname) self.pluginclass = getattr(self.pluginmodule, self.pluginname) else: - self.logWarning("Hook plugin will be deactivated due missing plugin reference") - self.setConfig('activated', False) + self.log_warning("Hook plugin will be deactivated due missing plugin reference") + self.set_config('activated', False) - def loadAccount(self): + def load_account(self): self.account = self.core.accountManager.getAccountPlugin(self.pluginname) if self.account and not self.account.canUse(): self.account = None if not self.account and hasattr(self.pluginclass, "LOGIN_ACCOUNT") and self.pluginclass.LOGIN_ACCOUNT: - self.logWarning("Hook plugin will be deactivated due missing account reference") - self.setConfig('activated', False) + self.log_warning("Hook plugin will be deactivated due missing account reference") + self.set_config('activated', False) def activate(self): self.init_periodical(threaded=True) - def pluginsCached(self): + def plugins_cached(self): if self.plugins: return self.plugins for _i in xrange(2): try: - pluginset = self._pluginSet(self.getHosters()) + pluginset = self._plugin_set(self.get_hosters()) break except Exception, e: - self.logDebug(e, "Waiting 1 minute and retry") + self.log_debug(e, "Waiting 1 minute and retry") time.sleep(60) else: - self.logWarning(_("Fallback to default reload interval due plugin parse error")) + self.log_warning(_("Fallback to default reload interval due plugin parse error")) self.interval = self.MIN_RELOAD_INTERVAL return list() try: - configmode = self.getConfig('pluginmode', 'all') + configmode = self.get_config('pluginmode', 'all') if configmode in ("listed", "unlisted"): - pluginlist = self.getConfig('pluginlist', '').replace('|', ',').replace(';', ',').split(',') - configset = self._pluginSet(pluginlist) + pluginlist = self.get_config('pluginlist', '').replace('|', ',').replace(';', ',').split(',') + configset = self._plugin_set(pluginlist) if configmode == "listed": pluginset &= configset @@ -124,14 +124,14 @@ class MultiHook(Hook): pluginset -= configset except Exception, e: - self.logError(e) + self.log_error(e) self.plugins = list(pluginset) return self.plugins - def _pluginSet(self, plugins): + def _plugin_set(self, plugins): regexp = re.compile(r'^[\w\-.^_]{3,63}\.[a-zA-Z]{2,}$', re.U) plugins = [decode(p.strip()).lower() for p in plugins if regexp.match(p.strip())] @@ -143,7 +143,7 @@ class MultiHook(Hook): return set(plugins) - def getHosters(self): + def get_hosters(self): """ Load list of supported hoster @@ -156,15 +156,15 @@ class MultiHook(Hook): """ Reload plugin list periodically """ - self.loadAccount() + self.load_account() - if self.getConfig('reload', True): - self.interval = max(self.getConfig('reloadinterval', 12) * 60 * 60, self.MIN_RELOAD_INTERVAL) + if self.get_config('reload', True): + self.interval = max(self.get_config('reloadinterval', 12) * 60 * 60, self.MIN_RELOAD_INTERVAL) else: self.core.scheduler.removeJob(self.cb) self.cb = None - self.logInfo(_("Reloading supported %s list") % self.plugintype) + self.log_info(_("Reloading supported %s list") % self.plugintype) old_supported = self.supported @@ -172,17 +172,17 @@ class MultiHook(Hook): self.new_supported = [] self.plugins = [] - self.overridePlugins() + self.override_plugins() old_supported = [plugin for plugin in old_supported if plugin not in self.supported] if old_supported: - self.logDebug("Unload: %s" % ", ".join(old_supported)) + self.log_debug("Unload: %s" % ", ".join(old_supported)) for plugin in old_supported: - self.unloadPlugin(plugin) + self.unload_plugin(plugin) - def overridePlugins(self): + def override_plugins(self): excludedList = [] if self.plugintype == "hoster": @@ -192,7 +192,7 @@ class MultiHook(Hook): pluginMap = {} accountList = [name[::-1].replace("Folder"[::-1], "", 1).lower()[::-1] for name in self.core.pluginManager.crypterPlugins.iterkeys()] - for plugin in self.pluginsCached(): + for plugin in self.plugins_cached(): name = remove_chars(plugin, "-.") if name in accountList: @@ -204,11 +204,11 @@ class MultiHook(Hook): self.new_supported.append(plugin) if not self.supported and not self.new_supported: - self.logError(_("No %s loaded") % self.plugintype) + self.log_error(_("No %s loaded") % self.plugintype) return #: inject plugin plugin - self.logDebug("Overwritten %ss: %s" % (self.plugintype, ", ".join(sorted(self.supported)))) + self.log_debug("Overwritten %ss: %s" % (self.plugintype, ", ".join(sorted(self.supported)))) for plugin in self.supported: hdict = self.core.pluginManager.plugins[self.plugintype][plugin] @@ -216,26 +216,26 @@ class MultiHook(Hook): hdict['new_name'] = self.pluginname if excludedList: - self.logInfo(_("%ss not overwritten: %s") % (self.plugintype.capitalize(), ", ".join(sorted(excludedList)))) + self.log_info(_("%ss not overwritten: %s") % (self.plugintype.capitalize(), ", ".join(sorted(excludedList)))) if self.new_supported: plugins = sorted(self.new_supported) - self.logDebug("New %ss: %s" % (self.plugintype, ", ".join(plugins))) + self.log_debug("New %ss: %s" % (self.plugintype, ", ".join(plugins))) #: create new regexp regexp = r'.*(?P%s).*' % "|".join(x.replace('.', '\.') for x in plugins) if hasattr(self.pluginclass, "__pattern__") and isinstance(self.pluginclass.__pattern__, basestring) and "://" in self.pluginclass.__pattern__: regexp = r'%s|%s' % (self.pluginclass.__pattern__, regexp) - self.logDebug("Regexp: %s" % regexp) + self.log_debug("Regexp: %s" % regexp) hdict = self.core.pluginManager.plugins[self.plugintype][self.pluginname] hdict['pattern'] = regexp hdict['re'] = re.compile(regexp) - def unloadPlugin(self, plugin): + def unload_plugin(self, plugin): hdict = self.core.pluginManager.plugins[self.plugintype][plugin] if "module" in hdict: hdict.pop('module', None) @@ -250,7 +250,7 @@ class MultiHook(Hook): Remove override for all plugins. Scheduler job is removed by hookmanager """ for plugin in self.supported: - self.unloadPlugin(plugin) + self.unload_plugin(plugin) #: reset pattern hdict = self.core.pluginManager.plugins[self.plugintype][self.pluginname] -- cgit v1.2.3 From d2e2b127651a5a44b56337eb6d9ca246c97a208a Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 17 Jul 2015 03:03:26 +0200 Subject: Spare fixes and code cosmetics --- module/plugins/internal/MultiHook.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 623836cdc..2e99afa1c 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -83,7 +83,7 @@ class MultiHook(Hook): def load_account(self): self.account = self.core.accountManager.getAccountPlugin(self.pluginname) - if self.account and not self.account.canUse(): + if self.account and not self.account.can_use(): self.account = None if not self.account and hasattr(self.pluginclass, "LOGIN_ACCOUNT") and self.pluginclass.LOGIN_ACCOUNT: -- cgit v1.2.3 From 9e5d813d7721e351ac02ba72bdc473a7d77ba6b7 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 18 Jul 2015 20:04:36 +0200 Subject: Code cosmetics --- module/plugins/internal/MultiHook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 2e99afa1c..7afe95705 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -76,7 +76,7 @@ class MultiHook(Hook): self.pluginmodule = self.core.pluginManager.loadModule(self.plugintype, self.pluginname) self.pluginclass = getattr(self.pluginmodule, self.pluginname) else: - self.log_warning("Hook plugin will be deactivated due missing plugin reference") + self.log_warning(_("Hook plugin will be deactivated due missing plugin reference")) self.set_config('activated', False) @@ -87,7 +87,7 @@ class MultiHook(Hook): self.account = None if not self.account and hasattr(self.pluginclass, "LOGIN_ACCOUNT") and self.pluginclass.LOGIN_ACCOUNT: - self.log_warning("Hook plugin will be deactivated due missing account reference") + self.log_warning(_("Hook plugin will be deactivated due missing account reference")) self.set_config('activated', False) -- cgit v1.2.3 From dad722ac7255640e7e0541c4094a4d2e4de79cd3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 19 Jul 2015 00:05:58 +0200 Subject: Code cosmetics (2) --- module/plugins/internal/MultiHook.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 7afe95705..4a43e89c7 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -207,7 +207,7 @@ class MultiHook(Hook): self.log_error(_("No %s loaded") % self.plugintype) return - #: inject plugin plugin + #: Inject plugin plugin self.log_debug("Overwritten %ss: %s" % (self.plugintype, ", ".join(sorted(self.supported)))) for plugin in self.supported: @@ -223,7 +223,7 @@ class MultiHook(Hook): self.log_debug("New %ss: %s" % (self.plugintype, ", ".join(plugins))) - #: create new regexp + #: Create new regexp regexp = r'.*(?P%s).*' % "|".join(x.replace('.', '\.') for x in plugins) if hasattr(self.pluginclass, "__pattern__") and isinstance(self.pluginclass.__pattern__, basestring) and "://" in self.pluginclass.__pattern__: regexp = r'%s|%s' % (self.pluginclass.__pattern__, regexp) @@ -252,7 +252,7 @@ class MultiHook(Hook): for plugin in self.supported: self.unload_plugin(plugin) - #: reset pattern + #: Reset pattern hdict = self.core.pluginManager.plugins[self.plugintype][self.pluginname] hdict['pattern'] = getattr(self.pluginclass, "__pattern__", r'^unmatchable$') -- cgit v1.2.3 From 502517f37c7540b0bddb092e69386d9d6f08800c Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 19 Jul 2015 09:42:34 +0200 Subject: Fix addons --- module/plugins/internal/MultiHook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 4a43e89c7..127d83ab5 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.50" + __version__ = "0.51" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), @@ -54,7 +54,7 @@ class MultiHook(Hook): (r'^0' , "zero" )] - def setup(self): + def init(self): self.plugins = [] self.supported = [] self.new_supported = [] -- cgit v1.2.3 From 56389e28ba5d2f5658278bc7f486d73be747f135 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 19 Jul 2015 11:44:49 +0200 Subject: Rename self.core to self.pyload (plugins only) --- module/plugins/internal/MultiHook.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 127d83ab5..4e6b0cf95 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -70,10 +70,10 @@ class MultiHook(Hook): def init_plugin(self): self.pluginname = self.__name__.rsplit("Hook", 1)[0] - plugin, self.plugintype = self.core.pluginManager.findPlugin(self.pluginname) + plugin, self.plugintype = self.pyload.pluginManager.findPlugin(self.pluginname) if plugin: - self.pluginmodule = self.core.pluginManager.loadModule(self.plugintype, self.pluginname) + self.pluginmodule = self.pyload.pluginManager.loadModule(self.plugintype, self.pluginname) self.pluginclass = getattr(self.pluginmodule, self.pluginname) else: self.log_warning(_("Hook plugin will be deactivated due missing plugin reference")) @@ -81,7 +81,7 @@ class MultiHook(Hook): def load_account(self): - self.account = self.core.accountManager.getAccountPlugin(self.pluginname) + self.account = self.pyload.accountManager.getAccountPlugin(self.pluginname) if self.account and not self.account.can_use(): self.account = None @@ -161,7 +161,7 @@ class MultiHook(Hook): if self.get_config('reload', True): self.interval = max(self.get_config('reloadinterval', 12) * 60 * 60, self.MIN_RELOAD_INTERVAL) else: - self.core.scheduler.removeJob(self.cb) + self.pyload.scheduler.removeJob(self.cb) self.cb = None self.log_info(_("Reloading supported %s list") % self.plugintype) @@ -186,11 +186,11 @@ class MultiHook(Hook): excludedList = [] if self.plugintype == "hoster": - pluginMap = dict((name.lower(), name) for name in self.core.pluginManager.hosterPlugins.iterkeys()) - accountList = [account.type.lower() for account in self.core.api.getAccounts(False) if account.valid and account.premium] + pluginMap = dict((name.lower(), name) for name in self.pyload.pluginManager.hosterPlugins.iterkeys()) + accountList = [account.type.lower() for account in self.pyload.api.getAccounts(False) if account.valid and account.premium] else: pluginMap = {} - accountList = [name[::-1].replace("Folder"[::-1], "", 1).lower()[::-1] for name in self.core.pluginManager.crypterPlugins.iterkeys()] + accountList = [name[::-1].replace("Folder"[::-1], "", 1).lower()[::-1] for name in self.pyload.pluginManager.crypterPlugins.iterkeys()] for plugin in self.plugins_cached(): name = remove_chars(plugin, "-.") @@ -211,7 +211,7 @@ class MultiHook(Hook): self.log_debug("Overwritten %ss: %s" % (self.plugintype, ", ".join(sorted(self.supported)))) for plugin in self.supported: - hdict = self.core.pluginManager.plugins[self.plugintype][plugin] + hdict = self.pyload.pluginManager.plugins[self.plugintype][plugin] hdict['new_module'] = self.pluginmodule hdict['new_name'] = self.pluginname @@ -230,13 +230,13 @@ class MultiHook(Hook): self.log_debug("Regexp: %s" % regexp) - hdict = self.core.pluginManager.plugins[self.plugintype][self.pluginname] + hdict = self.pyload.pluginManager.plugins[self.plugintype][self.pluginname] hdict['pattern'] = regexp hdict['re'] = re.compile(regexp) def unload_plugin(self, plugin): - hdict = self.core.pluginManager.plugins[self.plugintype][plugin] + hdict = self.pyload.pluginManager.plugins[self.plugintype][plugin] if "module" in hdict: hdict.pop('module', None) @@ -253,7 +253,7 @@ class MultiHook(Hook): self.unload_plugin(plugin) #: Reset pattern - hdict = self.core.pluginManager.plugins[self.plugintype][self.pluginname] + hdict = self.pyload.pluginManager.plugins[self.plugintype][self.pluginname] hdict['pattern'] = getattr(self.pluginclass, "__pattern__", r'^unmatchable$') hdict['re'] = re.compile(hdict['pattern']) -- cgit v1.2.3 From d38e830b7c0b3c6561a0072c74bbccb5fcdf4a61 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 19 Jul 2015 14:43:42 +0200 Subject: New __status__ magic key --- module/plugins/internal/MultiHook.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 4e6b0cf95..09f91bb2a 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -12,6 +12,7 @@ class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" __version__ = "0.51" + __status__ = "stable" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), -- cgit v1.2.3 From 94d017cd2a5c1f194960827a8c7e46afc3682008 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 24 Jul 2015 06:55:49 +0200 Subject: Hotfixes (2) --- module/plugins/internal/MultiHook.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 09f91bb2a..32d83e1ca 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -12,7 +12,7 @@ class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" __version__ = "0.51" - __status__ = "stable" + __status__ = "testing" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), ("pluginlist" , "str" , "Plugin list (comma separated)", "" ), @@ -119,7 +119,7 @@ class MultiHook(Hook): pluginlist = self.get_config('pluginlist', '').replace('|', ',').replace(';', ',').split(',') configset = self._plugin_set(pluginlist) - if configmode == "listed": + if configmode is "listed": pluginset &= configset else: pluginset -= configset @@ -186,7 +186,7 @@ class MultiHook(Hook): def override_plugins(self): excludedList = [] - if self.plugintype == "hoster": + if self.plugintype is "hoster": pluginMap = dict((name.lower(), name) for name in self.pyload.pluginManager.hosterPlugins.iterkeys()) accountList = [account.type.lower() for account in self.pyload.api.getAccounts(False) if account.valid and account.premium] else: -- cgit v1.2.3 From 761ca5c66e07559925ebbdbc6531f9ca658b12ce Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 24 Jul 2015 16:11:58 +0200 Subject: Code cosmetics --- module/plugins/internal/MultiHook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 32d83e1ca..0fa75df98 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -119,7 +119,7 @@ class MultiHook(Hook): pluginlist = self.get_config('pluginlist', '').replace('|', ',').replace(';', ',').split(',') configset = self._plugin_set(pluginlist) - if configmode is "listed": + if configmode == "listed": pluginset &= configset else: pluginset -= configset @@ -186,7 +186,7 @@ class MultiHook(Hook): def override_plugins(self): excludedList = [] - if self.plugintype is "hoster": + if self.plugintype == "hoster": pluginMap = dict((name.lower(), name) for name in self.pyload.pluginManager.hosterPlugins.iterkeys()) accountList = [account.type.lower() for account in self.pyload.api.getAccounts(False) if account.valid and account.premium] else: -- cgit v1.2.3 From 952001324e1faf584b1adcb01c4a0406a3722932 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 25 Jul 2015 09:42:49 +0200 Subject: =?UTF-8?q?Don't=20user=20dictionary=E2=80=99s=20iterator=20method?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/plugins/internal/MultiHook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index 0fa75df98..c49a3c89a 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -187,11 +187,11 @@ class MultiHook(Hook): excludedList = [] if self.plugintype == "hoster": - pluginMap = dict((name.lower(), name) for name in self.pyload.pluginManager.hosterPlugins.iterkeys()) + pluginMap = dict((name.lower(), name) for name in self.pyload.pluginManager.hosterPlugins.keys()) accountList = [account.type.lower() for account in self.pyload.api.getAccounts(False) if account.valid and account.premium] else: pluginMap = {} - accountList = [name[::-1].replace("Folder"[::-1], "", 1).lower()[::-1] for name in self.pyload.pluginManager.crypterPlugins.iterkeys()] + accountList = [name[::-1].replace("Folder"[::-1], "", 1).lower()[::-1] for name in self.pyload.pluginManager.crypterPlugins.keys()] for plugin in self.plugins_cached(): name = remove_chars(plugin, "-.") -- cgit v1.2.3 From a7d2fd070b8b407f944e8114afa4b0feaa73ce4d Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 29 Jul 2015 14:06:46 +0200 Subject: [MultiHook] Better error handling for plugins_cached --- module/plugins/internal/MultiHook.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index c49a3c89a..b64ff08c0 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.51" + __version__ = "0.52" __status__ = "testing" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), @@ -100,16 +100,16 @@ class MultiHook(Hook): if self.plugins: return self.plugins - for _i in xrange(2): + for _i in xrange(5): try: pluginset = self._plugin_set(self.get_hosters()) break except Exception, e: - self.log_debug(e, "Waiting 1 minute and retry") + self.log_warning(e, _("Waiting 1 minute and retry")) time.sleep(60) else: - self.log_warning(_("Fallback to default reload interval due plugin parse error")) + self.log_error(_("No hoster list retrieved")) self.interval = self.MIN_RELOAD_INTERVAL return list() -- cgit v1.2.3 From cc3c575a68fd4b585f0e4af586e027fddb0fe605 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 31 Jul 2015 10:38:51 +0200 Subject: Fix and improve account logic --- module/plugins/internal/MultiHook.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index b64ff08c0..ea515d69a 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.52" + __version__ = "0.53" __status__ = "testing" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), @@ -84,8 +84,7 @@ class MultiHook(Hook): def load_account(self): self.account = self.pyload.accountManager.getAccountPlugin(self.pluginname) - if self.account and not self.account.can_use(): - self.account = None + self.load_account() if not self.account and hasattr(self.pluginclass, "LOGIN_ACCOUNT") and self.pluginclass.LOGIN_ACCOUNT: self.log_warning(_("Hook plugin will be deactivated due missing account reference")) -- cgit v1.2.3 From a9e1aacd52e53b734c1e18299141900c1c8c0c32 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 1 Aug 2015 02:36:15 +0200 Subject: Fix https://github.com/pyload/pyload/issues/1636 --- module/plugins/internal/MultiHook.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'module/plugins/internal/MultiHook.py') diff --git a/module/plugins/internal/MultiHook.py b/module/plugins/internal/MultiHook.py index ea515d69a..42a1985b5 100644 --- a/module/plugins/internal/MultiHook.py +++ b/module/plugins/internal/MultiHook.py @@ -11,7 +11,7 @@ from module.utils import decode, remove_chars class MultiHook(Hook): __name__ = "MultiHook" __type__ = "hook" - __version__ = "0.53" + __version__ = "0.54" __status__ = "testing" __config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"), @@ -84,7 +84,8 @@ class MultiHook(Hook): def load_account(self): self.account = self.pyload.accountManager.getAccountPlugin(self.pluginname) - self.load_account() + if self.account and not self.account.select()[0]: + self.account = False if not self.account and hasattr(self.pluginclass, "LOGIN_ACCOUNT") and self.pluginclass.LOGIN_ACCOUNT: self.log_warning(_("Hook plugin will be deactivated due missing account reference")) -- cgit v1.2.3