diff options
Diffstat (limited to 'module/plugins/accounts/DebridItaliaCom.py')
-rw-r--r-- | module/plugins/accounts/DebridItaliaCom.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/module/plugins/accounts/DebridItaliaCom.py b/module/plugins/accounts/DebridItaliaCom.py new file mode 100644 index 000000000..c8990f882 --- /dev/null +++ b/module/plugins/accounts/DebridItaliaCom.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +import re + +from time import mktime, strptime + +from pyload.plugin.Account import Account + + +class DebridItaliaCom(Account): + __name__ = "DebridItaliaCom" + __type__ = "account" + __version__ = "0.11" + + __description__ = """Debriditalia.com account plugin""" + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it"), + ("Walter Purcaro", "vuolter@gmail.com")] + + + WALID_UNTIL_PATTERN = r'Premium valid till: (.+?) \|' + + + def loadAccountInfo(self, user, req): + info = {'premium': False, 'validuntil': None, 'trafficleft': None} + html = req.load("http://debriditalia.com/") + + if 'Account premium not activated' not in html: + m = re.search(self.WALID_UNTIL_PATTERN, html) + if m: + validuntil = int(mktime(strptime(m.group(1), "%d/%m/%Y %H:%M"))) + info = {'premium': True, 'validuntil': validuntil, 'trafficleft': -1} + else: + self.logError(_("Unable to retrieve account information")) + + return info + + + def login(self, user, data, req): + html = req.load("http://debriditalia.com/login.php", + get={'u': user, 'p': data['password']}) + + if 'NO' in html: + self.wrongPassword() |