def addHoster(self, account): self.logInfo(_("Activated %s") % account.__name__) pluginMap = {} for name in self.core.pluginManager.getPlugins("hoster").keys(): pluginMap[name.lower()] = name supported = [] new_supported = [] for hoster in account.getHosterList(): name = normalize(hoster) if name in pluginMap: supported.append(pluginMap[name]) else: new_supported.append(hoster) if not supported and not new_supported: account.logError(_("No Hoster loaded")) return klass = self.core.pluginManager.getPluginClass("hoster", account.__name__, overwrite=False) if not klass: return # inject plugin plugin account.logDebug("Overwritten Hosters: %s" % ", ".join(sorted(supported))) for hoster in supported: if hoster in self.plugins: self.plugins[hoster].append(klass.__name__) else: self.plugins[hoster] = [klass.__name__] account.logDebug("New Hosters: %s" % ", ".join(sorted(new_supported))) # create new regexp patterns = [x.replace(".", "\\.") for x in new_supported] if klass.__pattern__: patterns.append(klass.__pattern__) self.regexp[klass.__name__] = re.compile(r".*(%s).*" % "|".join(patterns))
def addHoster(self, account): self.logInfo(_("Activated %s") % account.__name__) pluginMap = {} for name in self.core.pluginManager.getPlugins("hoster").keys(): pluginMap[name.lower()] = name supported = [] new_supported = [] for hoster in account.getHosterList(): name = normalize(hoster) if name in pluginMap: supported.append(pluginMap[name]) else: new_supported.append(hoster) if not supported and not new_supported: account.logError(_("No Hoster loaded")) return klass = self.core.pluginManager.getPluginClass(account.__name__) # inject plugin plugin account.logDebug("Overwritten Hosters: %s" % ", ".join(sorted(supported))) for hoster in supported: self.plugins[hoster] = klass account.logDebug("New Hosters: %s" % ", ".join(sorted(new_supported))) # create new regexp patterns = [x.replace(".", "\\.") for x in new_supported] if klass.__pattern__: patterns.append(klass.__pattern__) regexp = r".*(%s).*" % "|".join(patterns) # recreate plugin tuple for new regexp hoster = self.core.pluginManager.getPlugins("hoster") p = hoster[account.__name__] new = PluginTuple(p.version, re.compile(regexp), p.deps, p.category, p.user, p.path) hoster[account.__name__] = new
def addHoster(self, account): self.logInfo(_("Activated MultiHoster %s") % account.__name__) pluginMap = {} for name in self.core.pluginManager.getPlugins("hoster").keys(): pluginMap[name.lower()] = name supported = [] new_supported = [] for hoster in account.getHosterList(): name = normalize(hoster) if name in pluginMap: supported.append(pluginMap[name]) else: new_supported.append(hoster) if not supported and not new_supported: account.logError(_("No Hoster loaded")) return klass = self.core.pluginManager.getPluginClass(account.__name__) # inject plugin plugin account.logDebug("Overwritten Hosters: %s" % ", ".join(sorted(supported))) for hoster in supported: self.plugins[hoster] = klass account.logDebug("New Hosters: %s" % ", ".join(sorted(new_supported))) # create new regexp patterns = [x.replace(".", "\\.") for x in new_supported] if klass.__pattern__: patterns.append(klass.__pattern__) regexp = r".*(%s).*" % "|".join(patterns) # recreate plugin tuple for new regexp hoster = self.core.pluginManager.getPlugins("hoster") p = hoster[account.__name__] new = PluginTuple(p.version, re.compile(regexp), p.deps, p.category, p.user, p.path) hoster[account.__name__] = new