summaryrefslogtreecommitdiffstats
path: root/pyload/plugin/addon/JustPremium.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugin/addon/JustPremium.py')
-rw-r--r--pyload/plugin/addon/JustPremium.py32
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)