diff options
Diffstat (limited to 'module/plugins/hoster/LetitbitNet.py')
-rw-r--r-- | module/plugins/hoster/LetitbitNet.py | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 62afb6c7c..e93b60460 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -10,22 +10,22 @@ import re import urlparse from module.common.json_layer import json_loads, json_dumps -from module.network.RequestFactory import getURL -from module.plugins.internal.ReCaptcha import ReCaptcha -from module.plugins.internal.SimpleHoster import SimpleHoster, secondsToMidnight +from module.network.RequestFactory import getURL as get_url +from module.plugins.captcha.ReCaptcha import ReCaptcha +from module.plugins.internal.SimpleHoster import SimpleHoster, seconds_to_midnight def api_response(url): - json_data = ["yw7XQy2v9", ["download/info", {"link": url}]] - api_rep = getURL("http://api.letitbit.net/json", - post={'r': json_dumps(json_data)}) + json_data = ["yw7XQy2v9", ["download/info", {'link': url}]] + api_rep = get_url("http://api.letitbit.net/json", + post={'r': json_dumps(json_data)}) return json_loads(api_rep) -def getInfo(urls): +def get_info(urls): for url in urls: api_rep = api_response(url) - if api_rep['status'] == 'OK': + if api_rep['status'] == "OK": info = api_rep['data'][0] yield (info['name'], info['size'], 2, url) else: @@ -35,7 +35,8 @@ def getInfo(urls): class LetitbitNet(SimpleHoster): __name__ = "LetitbitNet" __type__ = "hoster" - __version__ = "0.31" + __version__ = "0.32" + __status__ = "testing" __pattern__ = r'https?://(?:www\.)?(letitbit|shareflare)\.net/download/.+' __config__ = [("use_premium", "bool", "Use premium account if available", True)] @@ -53,16 +54,16 @@ class LetitbitNet(SimpleHoster): def setup(self): - self.resumeDownload = True + self.resume_download = True - def handleFree(self, pyfile): - action, inputs = self.parseHtmlForm('id="ifree_form"') + def handle_free(self, pyfile): + action, inputs = self.parse_html_form('id="ifree_form"') if not action: self.error(_("ifree_form")) pyfile.size = float(inputs['sssize']) - self.logDebug(action, inputs) + self.log_debug(action, inputs) inputs['desc'] = "" self.html = self.load(urlparse.urljoin("http://letitbit.net/", action), post=inputs) @@ -70,12 +71,12 @@ class LetitbitNet(SimpleHoster): m = re.search(self.SECONDS_PATTERN, self.html) seconds = int(m.group(1)) if m else 60 - self.logDebug("Seconds found", seconds) + self.log_debug("Seconds found", seconds) m = re.search(self.CAPTCHA_CONTROL_FIELD, self.html) recaptcha_control_field = m.group(1) - self.logDebug("ReCaptcha control field found", recaptcha_control_field) + self.log_debug("ReCaptcha control field found", recaptcha_control_field) self.wait(seconds) @@ -83,30 +84,30 @@ class LetitbitNet(SimpleHoster): if res != '1': self.error(_("Unknown response - ajax_check_url")) - self.logDebug(res) + self.log_debug(res) recaptcha = ReCaptcha(self) response, challenge = recaptcha.challenge() - post_data = {"recaptcha_challenge_field": challenge, - "recaptcha_response_field": response, - "recaptcha_control_field": recaptcha_control_field} + post_data = {'recaptcha_challenge_field': challenge, + 'recaptcha_response_field': response, + 'recaptcha_control_field': recaptcha_control_field} - self.logDebug("Post data to send", post_data) + self.log_debug("Post data to send", post_data) res = self.load("http://letitbit.net/ajax/check_recaptcha.php", post=post_data) - self.logDebug(res) + self.log_debug(res) if not res: - self.invalidCaptcha() + self.captcha.invalid() if res == "error_free_download_blocked": - self.logWarning(_("Daily limit reached")) - self.wait(secondsToMidnight(gmt=2), True) + self.log_warning(_("Daily limit reached")) + self.wait(seconds_to_midnight(gmt=2), True) if res == "error_wrong_captcha": - self.invalidCaptcha() + self.captcha.invalid() self.retry() elif res.startswith('['): @@ -121,16 +122,16 @@ class LetitbitNet(SimpleHoster): self.link = urls[0] - def handlePremium(self, pyfile): + def handle_premium(self, pyfile): api_key = self.user - premium_key = self.account.getAccountData(self.user)['password'] + premium_key = self.account.get_info(self.user)['login']['password'] - json_data = [api_key, ["download/direct_links", {"pass": premium_key, "link": pyfile.url}]] + json_data = [api_key, ["download/direct_links", {'pass': premium_key, 'link': pyfile.url}]] api_rep = self.load('http://api.letitbit.net/json', post={'r': json_dumps(json_data)}) - self.logDebug("API Data: " + api_rep) + self.log_debug("API Data: " + api_rep) api_rep = json_loads(api_rep) - if api_rep['status'] == 'FAIL': + if api_rep['status'] == "FAIL": self.fail(api_rep['data']) self.link = api_rep['data'][0][0] |