diff options
Diffstat (limited to 'pyload/plugin/addon/JustPremium.py')
| -rw-r--r-- | pyload/plugin/addon/JustPremium.py | 32 | 
1 files changed, 21 insertions, 11 deletions
| diff --git a/pyload/plugin/addon/JustPremium.py b/pyload/plugin/addon/JustPremium.py index d3c4d8eff..e69bc24f6 100644 --- a/pyload/plugin/addon/JustPremium.py +++ b/pyload/plugin/addon/JustPremium.py @@ -8,18 +8,24 @@ from pyload.plugin.Addon import Addon  class JustPremium(Addon):      __name__    = "JustPremium"      __type__    = "addon" -    __version__ = "0.21" +    __version__ = "0.22" -    __config__ = [("excluded", "str", "Exclude hosters (comma separated)", "")] +    __config__ = [("excluded", "str", "Exclude hosters (comma separated)", ""), +                  ("included", "str", "Include hosters (comma separated)", "")] -    __description__ = """Remove all not premium links from urls added""" +    __description__ = """Remove not-premium links from added urls"""      __license__     = "GPLv3" -    __authors__     = [("mazleu", "mazleica@gmail.com"), -                       ("Walter Purcaro", "vuolter@gmail.com"), -                       ("immenz", "immenz@gmx.net")] +    __authors__     = [("mazleu"        , "mazleica@gmail.com"), +                       ("Walter Purcaro", "vuolter@gmail.com" ), +                       ("immenz"        , "immenz@gmx.net"    )]      event_list = ["linksAdded"] +    interval   = 0  #@TODO: Remove in 0.4.10 + + +    def setup(self): +        self.info = {}  #@TODO: Remove in 0.4.10      def linksAdded(self, links, pid): @@ -32,14 +38,18 @@ class JustPremium(Addon):                               if 'new_name' in hosterdict[hoster] \                               and hosterdict[hoster]['new_name'] in premiumplugins) -        #: Found at least one hoster with account or multihoster -        if not any(True for pluginname in linkdict if pluginname in premiumplugins | multihosters): -            return -          excluded = map(lambda domain: "".join(part.capitalize() for part in re.split(r'(\.|\d+)', domain) if part != '.'),                         self.getConfig('excluded').replace(' ', '').replace(',', '|').replace(';', '|').split('|')) +        included = map(lambda domain: "".join(part.capitalize() for part in re.split(r'(\.|\d+)', domain) if part != '.'), +                       self.getConfig('included').replace(' ', '').replace(',', '|').replace(';', '|').split('|')) + +        hosterlist = (premiumplugins | multihosters).union(excluded).difference(included) + +        #: Found at least one hoster with account or multihoster +        if not any( True for pluginname in linkdict if pluginname in hosterlist ): +            return -        for pluginname in set(linkdict.keys()) - (premiumplugins | multihosters).union(excluded): +        for pluginname in set(linkdict.keys()) - hosterlist:              self.logInfo(_("Remove links of plugin: %s") % pluginname)              for link in linkdict[pluginname]:                  self.logDebug("Remove link: %s" % link) | 
