From 5a1cd89497598daffdd643114db7a033cf46a807 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Wed, 7 Mar 2012 22:27:53 +0100 Subject: AllDebrid plugin by Andy, Voigt; closed #555; generic XFileSharingPro plugin --- module/plugins/accounts/AlldebridCom.py | 27 +++++++++++++++++++++++++++ module/plugins/accounts/BayfilesCom.py | 17 +++++++++++------ 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 module/plugins/accounts/AlldebridCom.py (limited to 'module/plugins/accounts') diff --git a/module/plugins/accounts/AlldebridCom.py b/module/plugins/accounts/AlldebridCom.py new file mode 100644 index 000000000..4968e9bdd --- /dev/null +++ b/module/plugins/accounts/AlldebridCom.py @@ -0,0 +1,27 @@ +from module.plugins.Account import Account +import xml.dom.minidom as dom +from time import time + +class AlldebridCom(Account): + __name__ = "AlldebridCom" + __version__ = "0.1" + __type__ = "account" + __description__ = """AllDebrid.com account plugin""" + __author_name__ = ("Andy, Voigt") + __author_mail__ = ("spamsales@online.de") + + def loadAccountInfo(self, user, req): + data = self.getAccountData(user) + page = req.load("http://www.alldebrid.com/api.php?action=info_user&login=%s&pw=%s" % (user, data["password"])) + self.log.debug(page) + xml = dom.parseString(page) + account_info = {"validuntil": (time()+int(xml.getElementsByTagName("date")[0].childNodes[0].nodeValue)*86400), + "trafficleft": -1} + + return account_info + + def login(self, user, data, req): + page = req.load("http://www.alldebrid.com/register/?action=login&login_login=%s&login_password=%s" % (user, data["password"])) + + if "This login doesn't exist" in page: + self.wrongPassword() diff --git a/module/plugins/accounts/BayfilesCom.py b/module/plugins/accounts/BayfilesCom.py index 803e602cb..0d036488b 100644 --- a/module/plugins/accounts/BayfilesCom.py +++ b/module/plugins/accounts/BayfilesCom.py @@ -20,23 +20,28 @@ from module.plugins.Account import Account from module.common.json_layer import json_loads import re -from time import mktime, strptime +from time import time, mktime, strptime class BayfilesCom(Account): __name__ = "BayfilesCom" - __version__ = "0.01" + __version__ = "0.02" __type__ = "account" __description__ = """bayfiles.com account plugin""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") def loadAccountInfo(self, user, req): - response = json_loads(req.load("http://api.bayfiles.com/v1/account/info")) - self.logDebug(response) - + for i in range(2): + response = json_loads(req.load("http://api.bayfiles.com/v1/account/info")) + self.logDebug(response) + if not response["error"]: + break + self.logWarning(response["error"]) + self.relogin() + return {"premium": bool(response['premium']), \ "trafficleft": -1, \ - "validuntil": response['expires'] if response['expires'] > 0 else -1} + "validuntil": response['expires'] if response['expires'] >= int(time()) else -1} def login(self, user, data, req): response = json_loads(req.load("http://api.bayfiles.com/v1/account/login/%s/%s" % (user, data["password"]))) -- cgit v1.2.3