summaryrefslogtreecommitdiffstats
path: root/module/plugins/accounts/AlldebridCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/accounts/AlldebridCom.py')
-rw-r--r--module/plugins/accounts/AlldebridCom.py49
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()