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.py37
1 files changed, 21 insertions, 16 deletions
diff --git a/module/plugins/accounts/AlldebridCom.py b/module/plugins/accounts/AlldebridCom.py
index f9906bd9d..7fc11e343 100644
--- a/module/plugins/accounts/AlldebridCom.py
+++ b/module/plugins/accounts/AlldebridCom.py
@@ -4,7 +4,6 @@ import re
import xml.dom.minidom as dom
from time import time
-from urllib import urlencode
from BeautifulSoup import BeautifulSoup
@@ -14,7 +13,7 @@ from pyload.plugin.Account import Account
class AlldebridCom(Account):
__name__ = "AlldebridCom"
__type__ = "account"
- __version__ = "0.22"
+ __version__ = "0.23"
__description__ = """AllDebrid.com account plugin"""
__license__ = "GPLv3"
@@ -23,37 +22,43 @@ class AlldebridCom(Account):
def loadAccountInfo(self, user, req):
data = self.getAccountData(user)
- page = req.load("http://www.alldebrid.com/account/")
- soup = BeautifulSoup(page)
+ html = req.load("http://www.alldebrid.com/account/")
+ soup = BeautifulSoup(html)
+
#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)
+
p = re.compile('\d+')
exp_data = p.findall(time_text)
exp_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
except Exception:
data = self.getAccountData(user)
- page = req.load("http://www.alldebrid.com/api.php",
+ html = req.load("http://www.alldebrid.com/api.php",
get={'action': "info_user", 'login': user, 'pw': data['password']})
- self.logDebug(page)
- xml = dom.parseString(page)
+
+ self.logDebug(html)
+
+ xml = dom.parseString(html)
exp_time = time() + int(xml.getElementsByTagName("date")[0].childNodes[0].nodeValue) * 24 * 60 * 60
+
account_info = {"validuntil": exp_time, "trafficleft": -1}
return account_info
def login(self, user, data, req):
- urlparams = urlencode({'action': 'login', 'login_login': user, 'login_password': data['password']})
- page = req.load("http://www.alldebrid.com/register/?%s" % urlparams)
-
- if "This login doesn't exist" in page:
- self.wrongPassword()
-
- if "The password is not valid" in page:
- self.wrongPassword()
+ html = req.load("http://www.alldebrid.com/register/",
+ get={'action' : "login",
+ 'login_login' : user,
+ 'login_password': data['password']},
+ decode=True)
- if "Invalid captcha" in page:
+ if "This login doesn't exist" in html \
+ or "The password is not valid" in html \
+ or "Invalid captcha" in html:
self.wrongPassword()