diff options
Diffstat (limited to 'pyload/plugins/accounts')
-rw-r--r-- | pyload/plugins/accounts/AlldebridCom.py | 1 | ||||
-rw-r--r-- | pyload/plugins/accounts/FastixRu.py | 13 | ||||
-rw-r--r-- | pyload/plugins/accounts/FastshareCz.py | 6 | ||||
-rw-r--r-- | pyload/plugins/accounts/RPNetBiz.py | 45 | ||||
-rw-r--r-- | pyload/plugins/accounts/RealdebridCom.py | 4 |
5 files changed, 55 insertions, 14 deletions
diff --git a/pyload/plugins/accounts/AlldebridCom.py b/pyload/plugins/accounts/AlldebridCom.py index b0de45c46..4be7cb897 100644 --- a/pyload/plugins/accounts/AlldebridCom.py +++ b/pyload/plugins/accounts/AlldebridCom.py @@ -6,6 +6,7 @@ import urllib from pyload.plugins.MultiHoster import MultiHoster from BeautifulSoup import BeautifulSoup + class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __version__ = "0.21" 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/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..84c61f2e8 100644 --- a/pyload/plugins/accounts/RealdebridCom.py +++ b/pyload/plugins/accounts/RealdebridCom.py @@ -5,7 +5,7 @@ from pyload.plugins.MultiHoster import MultiHoster class RealdebridCom(MultiHoster): __name__ = "RealdebridCom" - __version__ = "0.5" + __version__ = "0.43" __type__ = "account" __description__ = """Real-Debrid.com account plugin""" __author_name__ = ("Devirex, Hazzard") @@ -14,7 +14,7 @@ class RealdebridCom(MultiHoster): def loadAccountInfo(self, 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} |