diff options
Diffstat (limited to 'pyload/plugins/accounts')
-rw-r--r-- | pyload/plugins/accounts/AlldebridCom.py | 10 | ||||
-rw-r--r-- | pyload/plugins/accounts/FastixRu.py | 13 | ||||
-rw-r--r-- | pyload/plugins/accounts/FastshareCz.py | 6 | ||||
-rw-r--r-- | pyload/plugins/accounts/Http.py | 7 | ||||
-rw-r--r-- | pyload/plugins/accounts/MultishareCz.py | 13 | ||||
-rw-r--r-- | pyload/plugins/accounts/Premium4Me.py | 9 | ||||
-rw-r--r-- | pyload/plugins/accounts/PremiumizeMe.py | 22 | ||||
-rw-r--r-- | pyload/plugins/accounts/RPNetBiz.py | 45 | ||||
-rw-r--r-- | pyload/plugins/accounts/RealdebridCom.py | 14 | ||||
-rw-r--r-- | pyload/plugins/accounts/SimplydebridCom.py | 8 | ||||
-rw-r--r-- | pyload/plugins/accounts/ZeveraCom.py | 8 |
11 files changed, 76 insertions, 79 deletions
diff --git a/pyload/plugins/accounts/AlldebridCom.py b/pyload/plugins/accounts/AlldebridCom.py index b0de45c46..9fb050535 100644 --- a/pyload/plugins/accounts/AlldebridCom.py +++ b/pyload/plugins/accounts/AlldebridCom.py @@ -3,10 +3,11 @@ from time import time import re import urllib -from pyload.plugins.MultiHoster import MultiHoster +from module.plugins.Account import Account from BeautifulSoup import BeautifulSoup -class AlldebridCom(MultiHoster): + +class AlldebridCom(Account): __name__ = "AlldebridCom" __version__ = "0.21" __type__ = "account" @@ -49,8 +50,3 @@ class AlldebridCom(MultiHoster): if "Invalid captcha" in page: self.wrongPassword() - - def loadHosterList(self, req): - https = "https" if self.getConfig("https") else "http" - page = req.load(https + "://www.alldebrid.com/api.php?action=get_host").replace("\"","").strip() - return [x.strip() for x in page.split(",") if x.strip()] diff --git a/pyload/plugins/accounts/FastixRu.py b/pyload/plugins/accounts/FastixRu.py index 34d88dd25..3e1896e44 100644 --- a/pyload/plugins/accounts/FastixRu.py +++ b/pyload/plugins/accounts/FastixRu.py @@ -1,8 +1,8 @@ -from pyload.plugins.MultiHoster import MultiHoster -from pyload.utils import json_loads +from module.plugins.Account import Account +from module.common.json_layer import json_loads -class FastixRu(MultiHoster): +class FastixRu(Account): __name__ = "FastixRu" __version__ = "0.02" __type__ = "account" @@ -30,10 +30,3 @@ class FastixRu(MultiHoster): data["api"] = api if "error_code" in page: self.wrongPassword() - - def loadHosterList(self, req): - page = req.load( - "http://fastix.ru/api_v2/?apikey=5182964c3f8f9a7f0b00000a_kelmFB4n1IrnCDYuIFn2y&sub=allowed_sources") - host_list = json_loads(page) - host_list = host_list['allow'] - return host_list diff --git a/pyload/plugins/accounts/FastshareCz.py b/pyload/plugins/accounts/FastshareCz.py index 69bbb0827..c047ff766 100644 --- a/pyload/plugins/accounts/FastshareCz.py +++ b/pyload/plugins/accounts/FastshareCz.py @@ -24,16 +24,18 @@ from module.utils import parseFileSize class FastshareCz(Account): __name__ = "FastshareCz" - __version__ = "0.02" + __version__ = "0.03" __type__ = "account" __description__ = """fastshare.cz account plugin""" __author_name__ = ("zoidberg", "stickell") __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") + CREDIT_PATTERN = r'(?:Kredit|Credit)\s*</td>\s*<td[^>]*>([\d. \w]+) ' + def loadAccountInfo(self, user, req): html = req.load("http://www.fastshare.cz/user", decode=True) - found = re.search(r'(?:Kredit|Credit)\s*: </td><td>(.+?) ', html) + found = re.search(self.CREDIT_PATTERN, html) if found: trafficleft = parseFileSize(found.group(1)) / 1024 premium = True if trafficleft else False diff --git a/pyload/plugins/accounts/Http.py b/pyload/plugins/accounts/Http.py index de9490b2c..5701d1f03 100644 --- a/pyload/plugins/accounts/Http.py +++ b/pyload/plugins/accounts/Http.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from pyload.plugins.Account import Account +from module.plugins.Account import Account class Http(Account): @@ -11,9 +11,4 @@ class Http(Account): __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") - __config__ = [("domain", "str", "Domain", "")] - login_timeout = info_threshold = 1000000 - - def login(self, req): - pass
\ No newline at end of file diff --git a/pyload/plugins/accounts/MultishareCz.py b/pyload/plugins/accounts/MultishareCz.py index a50ced431..273936615 100644 --- a/pyload/plugins/accounts/MultishareCz.py +++ b/pyload/plugins/accounts/MultishareCz.py @@ -17,14 +17,14 @@ @author: zoidberg """ -from pyload.plugins.MultiHoster import MultiHoster +from module.plugins.Account import Account #from time import mktime, strptime #from pycurl import REFERER import re -from pyload.utils import parseFileSize +from module.utils import parseFileSize -class MultishareCz(MultiHoster): +class MultishareCz(Account): __name__ = "MultishareCz" __version__ = "0.02" __type__ = "account" @@ -34,7 +34,6 @@ class MultishareCz(MultiHoster): TRAFFIC_LEFT_PATTERN = r'<span class="profil-zvyrazneni">Kredit:</span>\s*<strong>(?P<S>[0-9,]+) (?P<U>\w+)</strong>' ACCOUNT_INFO_PATTERN = r'<input type="hidden" id="(u_ID|u_hash)" name="[^"]*" value="([^"]+)">' - HOSTER_PATTERN = r'<img class="logo-shareserveru"[^>]*?alt="([^"]+)"></td>\s*<td class="stav">[^>]*?alt="OK"' def loadAccountInfo(self, user, req): #self.relogin(user) @@ -57,8 +56,4 @@ class MultishareCz(MultiHoster): }, decode=True) if '<div class="akce-chyba akce">' in html: - self.wrongPassword() - - def loadHosterList(self, req): - page = req.load("http://www.multishare.cz/monitoring/") - return re.findall(self.HOSTER_PATTERN, page) + self.wrongPassword()
\ No newline at end of file diff --git a/pyload/plugins/accounts/Premium4Me.py b/pyload/plugins/accounts/Premium4Me.py index 7f49cca30..467c5943e 100644 --- a/pyload/plugins/accounts/Premium4Me.py +++ b/pyload/plugins/accounts/Premium4Me.py @@ -1,6 +1,7 @@ -from pyload.plugins.MultiHoster import MultiHoster +from module.plugins.Account import Account -class Premium4Me(MultiHoster): + +class Premium4Me(Account): __name__ = "Premium4Me" __version__ = "0.03" __type__ = "account" @@ -22,7 +23,3 @@ class Premium4Me(MultiHoster): if "wrong username" in self.authcode: self.wrongPassword() - - def loadHosterList(self, req): - page = req.load("http://premium.to/api/hosters.php?authcode=%s" % self.authcode) - return [x.strip() for x in page.replace("\"", "").split(";")] diff --git a/pyload/plugins/accounts/PremiumizeMe.py b/pyload/plugins/accounts/PremiumizeMe.py index 8b4569f06..c5c712c52 100644 --- a/pyload/plugins/accounts/PremiumizeMe.py +++ b/pyload/plugins/accounts/PremiumizeMe.py @@ -1,8 +1,9 @@ -from pyload.plugins.MultiHoster import MultiHoster -from pyload.utils import json_loads +from module.plugins.Account import Account +from module.common.json_layer import json_loads -class PremiumizeMe(MultiHoster): + +class PremiumizeMe(Account): __name__ = "PremiumizeMe" __version__ = "0.11" __type__ = "account" @@ -39,18 +40,3 @@ class PremiumizeMe(MultiHoster): "https://api.premiumize.me/pm-api/v1.php?method=accountstatus¶ms[login]=%s¶ms[pass]=%s" % ( user, self.accounts[user]['password'])) return json_loads(answer) - - def loadHosterList(self, req): - # Get supported hosters list from premiumize.me using the - # json API v1 (see https://secure.premiumize.me/?show=api) - answer = req.load( - "https://api.premiumize.me/pm-api/v1.php?method=hosterlist¶ms[login]=%s¶ms[pass]=%s" % ( - self.loginname, self.password)) - data = json_loads(answer) - - # If account is not valid thera are no hosters available - if data['status'] != 200: - return [] - - # Extract hosters from json file - return data['result']['hosterlist'] diff --git a/pyload/plugins/accounts/RPNetBiz.py b/pyload/plugins/accounts/RPNetBiz.py new file mode 100644 index 000000000..ceb5e6bbb --- /dev/null +++ b/pyload/plugins/accounts/RPNetBiz.py @@ -0,0 +1,45 @@ +from module.plugins.Account import Account +from module.common.json_layer import json_loads + + +class RPNetBiz(Account): + __name__ = "RPNetBiz" + __version__ = "0.1" + __type__ = "account" + __description__ = """RPNet.biz account plugin""" + __author_name__ = ("Dman") + __author_mail__ = ("dmanugm@gmail.com") + + def loadAccountInfo(self, user, req): + # Get account information from rpnet.biz + response = self.getAccountStatus(user, req) + try: + if response['accountInfo']['isPremium']: + # Parse account info. Change the trafficleft later to support per host info. + account_info = {"validuntil": int(response['accountInfo']['premiumExpiry']), + "trafficleft": -1, "premium": True} + else: + account_info = {"validuntil": None, "trafficleft": None, "premium": False} + + except KeyError: + #handle wrong password exception + account_info = {"validuntil": None, "trafficleft": None, "premium": False} + + return account_info + + def login(self, user, data, req): + # Get account information from rpnet.biz + response = self.getAccountStatus(user, req) + + # If we have an error in the response, we have wrong login information + if 'error' in response: + self.wrongPassword() + + def getAccountStatus(self, user, req): + # Using the rpnet API, check if valid premium account + response = req.load("https://premium.rpnet.biz/client_api.php", + get={"username": user, "password": self.accounts[user]['password'], + "action": "showAccountInformation"}) + self.logDebug("JSON data: %s" % response) + + return json_loads(response) diff --git a/pyload/plugins/accounts/RealdebridCom.py b/pyload/plugins/accounts/RealdebridCom.py index 2ef8dbb79..a9980b088 100644 --- a/pyload/plugins/accounts/RealdebridCom.py +++ b/pyload/plugins/accounts/RealdebridCom.py @@ -1,20 +1,20 @@ import xml.dom.minidom as dom -from pyload.plugins.MultiHoster import MultiHoster +from module.plugins.Account import Account -class RealdebridCom(MultiHoster): +class RealdebridCom(Account): __name__ = "RealdebridCom" - __version__ = "0.5" + __version__ = "0.43" __type__ = "account" __description__ = """Real-Debrid.com account plugin""" __author_name__ = ("Devirex, Hazzard") __author_mail__ = ("naibaf_11@yahoo.de") - def loadAccountInfo(self, req): + def loadAccountInfo(self, user, req): if self.pin_code: return {"premium": False} - page = req.load("http://real-debrid.com/api/account.php") + page = req.load("https://real-debrid.com/api/account.php") xml = dom.parseString(page) account_info = {"validuntil": int(xml.getElementsByTagName("expiration")[0].childNodes[0].nodeValue), "trafficleft": -1} @@ -29,7 +29,3 @@ class RealdebridCom(MultiHoster): elif "PIN Code required" in page: self.logWarning('PIN code required. Please login to https://real-debrid.com using the PIN or disable the double authentication in your control panel on https://real-debrid.com.') self.pin_code = True - - def loadHosterList(self, req): - page = req.load("http://real-debrid.com/api/hosters.php").replace("\"", "").strip() - return[x.strip() for x in page.split(",") if x.strip()] diff --git a/pyload/plugins/accounts/SimplydebridCom.py b/pyload/plugins/accounts/SimplydebridCom.py index 0b4c82a3b..82b499bbd 100644 --- a/pyload/plugins/accounts/SimplydebridCom.py +++ b/pyload/plugins/accounts/SimplydebridCom.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- from time import mktime, strptime -from pyload.plugins.MultiHoster import MultiHoster +from module.plugins.Account import Account -class SimplydebridCom(MultiHoster): +class SimplydebridCom(Account): __name__ = "SimplydebridCom" __version__ = "0.1" __type__ = "account" @@ -28,7 +28,3 @@ class SimplydebridCom(MultiHoster): response = req.load("http://simply-debrid.com/api.php", get=get_data, decode=True) if response != "02: loggin success": self.wrongPassword() - - def loadHosterList(self, req): - page = req.load("http://simply-debrid.com/api.php?list=1") - return [x.strip() for x in page.rstrip(';').replace("\"", "").split(";")] diff --git a/pyload/plugins/accounts/ZeveraCom.py b/pyload/plugins/accounts/ZeveraCom.py index 8f05f1d76..13ed95133 100644 --- a/pyload/plugins/accounts/ZeveraCom.py +++ b/pyload/plugins/accounts/ZeveraCom.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- from time import mktime, strptime -from pyload.plugins.MultiHoster import MultiHoster +from module.plugins.Account import Account -class ZeveraCom(MultiHoster): +class ZeveraCom(Account): __name__ = "ZeveraCom" __version__ = "0.21" __type__ = "account" @@ -49,7 +49,3 @@ class ZeveraCom(MultiHoster): [x.split(':', 1) for x in response.splitlines() if ':' in x]) else: return response - - def loadHosterList(self, req): - page = req.load("http://www.zevera.com/jDownloader.ashx?cmd=gethosters") - return [x.strip() for x in page.replace("\"", "").split(",")] |