diff options
Diffstat (limited to 'module/plugins/accounts/AlldebridCom.py')
-rw-r--r-- | module/plugins/accounts/AlldebridCom.py | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/module/plugins/accounts/AlldebridCom.py b/module/plugins/accounts/AlldebridCom.py index f9c1f2ca6..6a2f09c9c 100644 --- a/module/plugins/accounts/AlldebridCom.py +++ b/module/plugins/accounts/AlldebridCom.py @@ -4,60 +4,63 @@ import re import time import xml.dom.minidom as dom -from BeautifulSoup import BeautifulSoup +import BeautifulSoup -from module.plugins.Account import Account +from module.plugins.internal.Account import Account class AlldebridCom(Account): __name__ = "AlldebridCom" __type__ = "account" - __version__ = "0.23" + __version__ = "0.26" + __status__ = "testing" __description__ = """AllDebrid.com account plugin""" __license__ = "GPLv3" __authors__ = [("Andy Voigt", "spamsales@online.de")] - def loadAccountInfo(self, user, req): - data = self.getAccountData(user) - html = req.load("http://www.alldebrid.com/account/") - soup = BeautifulSoup(html) + def parse_info(self, user, password, data, req): + data = self.get_data(user) + html = self.load("http://www.alldebrid.com/account/") + soup = BeautifulSoup.BeautifulSoup(html) - #Try to parse expiration date directly from the control panel page (better accuracy) + #: Try to parse expiration date directly from the control panel page (better accuracy) try: time_text = soup.find('div', attrs={'class': 'remaining_time_text'}).strong.string - self.logDebug("Account expires in: %s" % time_text) + self.log_debug("Account expires in: %s" % time_text) p = re.compile('\d+') exp_data = p.findall(time_text) exp_time = time.time() + int(exp_data[0]) * 24 * 60 * 60 + int( exp_data[1]) * 60 * 60 + (int(exp_data[2]) - 1) * 60 - #Get expiration date from API + #: Get expiration date from API except Exception: - data = self.getAccountData(user) - html = req.load("http://www.alldebrid.com/api.php", - get={'action': "info_user", 'login': user, 'pw': data['password']}) + data = self.get_data(user) + html = self.load("https://www.alldebrid.com/api.php", + get={'action': "info_user", + 'login' : user, + 'pw' : password}) - self.logDebug(html) + self.log_debug(html) xml = dom.parseString(html) exp_time = time.time() + int(xml.getElementsByTagName("date")[0].childNodes[0].nodeValue) * 24 * 60 * 60 - account_info = {"validuntil": exp_time, "trafficleft": -1} - return account_info + return {'validuntil' : exp_time, + 'trafficleft': -1 , + 'premium' : True } - def login(self, user, data, req): - html = req.load("http://www.alldebrid.com/register/", - get={'action' : "login", - 'login_login' : user, - 'login_password': data['password']}, - decode=True) + def login(self, user, password, data, req): + html = self.load("https://www.alldebrid.com/register/", + get={'action' : "login", + 'login_login' : user, + 'login_password': password}) if "This login doesn't exist" in html \ or "The password is not valid" in html \ or "Invalid captcha" in html: - self.wrongPassword() + self.login_fail() |