forked from glukgluk/Pyload-Plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
JustPremium.py
79 lines (69 loc) · 3.24 KB
/
JustPremium.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# -*- coding: utf-8 -*-
"""
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
@author: mazleu
"""
from module.plugins.Hook import Hook
from module.plugins.Account import Account
from module.plugins.Hoster import Hoster
class JustPremium(Hook):
__name__ = "JustPremium"
__version__ = "0.16"
__description__ = "If you add multiple links with at least one premium hoster link, all non premium links get removed"
__config__ = [("activated", "bool", "Activated", "False"),
("freehosters","bool", "Allow all freehosters and other unknown sites", "false"),
("nicehoster", "str", "unblock this hosters (comma seperated)", "Zippyshare.com")]
__author_name__ = ("mazleu")
__author_mail__ = ("[email protected]")
event_list = ["linksAdded"]
def coreReady(self) :
accs=str(self.core.accountManager.getAccountInfos())
global badhosts
global hosts
hosts = ""
while "[{" in accs:
startid=accs.rfind("[], ", 0, accs.find("[{"))+2
endid=accs.find("}]",startid)+2
hosts=hosts+","+accs[startid+3:accs.find("'",startid+3)]
accs=accs[0:startid]+accs[endid:]
badhosts=accs.replace("': [], '",",")[2:-6]
hosts=hosts[1:]
hosts=hosts+","+self.getConfig("nicehoster")
self.logDebug("good hosts:",hosts)
self.logDebug("bad hosts:",badhosts)
def filterLinks(self, t):
links = self.core.api.checkURLs(t)
hosterlist =""
bhosters = [x.strip() for x in badhosts.split(",")]
ghosters = [x.strip() for x in hosts.split(",")]
premhoster = False
for hoster in links:
self.logDebug(hoster)
if hoster in ghosters:
premhoster = True
self.logDebug ("Found at least one hoster with account")
if premhoster :
for hoster in links:
if self.getConfig("freehosters"):
if hoster in bhosters:
self.logInfo("remove links from hoster '%s' " % (hoster))
for link in links[hoster]:
t.remove(link)
self.logDebug("remove link '%s'because hoster was: '%s' " % (link,hoster))
else:
if not hoster in ghosters:
self.logInfo("remove links from hoster '%s' " % (hoster))
for link in links[hoster]:
t.remove(link)
self.logDebug("remove link '%s' because hoster was: '%s' " % (link,hoster))
def linksAdded(self, links, pid):
self.filterLinks(links)