summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/IfileIt.py
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@gmail.com> 2015-01-09 00:35:51 +0100
committerGravatar Walter Purcaro <vuolter@gmail.com> 2015-01-09 00:35:51 +0100
commitfd105f8e51768ec1943cda2375bdfdbe5b0a3951 (patch)
treeccbdbe3cd23c606e8102f11ae4e0722f7e7a3227 /module/plugins/hoster/IfileIt.py
parent"New Year" Update: hook plugins (diff)
downloadpyload-fd105f8e51768ec1943cda2375bdfdbe5b0a3951.tar.xz
"New Year" Update: hoster plugins
Diffstat (limited to 'module/plugins/hoster/IfileIt.py')
-rw-r--r--module/plugins/hoster/IfileIt.py55
1 files changed, 3 insertions, 52 deletions
diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py
index 2dae4cd80..056b05a65 100644
--- a/module/plugins/hoster/IfileIt.py
+++ b/module/plugins/hoster/IfileIt.py
@@ -1,16 +1,12 @@
# -*- coding: utf-8 -*-
-import re
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-from module.common.json_layer import json_loads
-from module.plugins.internal.CaptchaService import ReCaptcha
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
-
-class IfileIt(SimpleHoster):
+class IfileIt(DeadHoster):
__name__ = "IfileIt"
__type__ = "hoster"
- __version__ = "0.28"
+ __version__ = "0.29"
__pattern__ = r'^unmatchable$'
@@ -19,49 +15,4 @@ class IfileIt(SimpleHoster):
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
- LINK_PATTERN = r'</span> If it doesn\'t, <a target="_blank" href="([^"]+)">'
- RECAPTCHA_PATTERN = r'var __recaptcha_public\s*=\s*\'(.+?)\''
- INFO_PATTERN = r'<span style="cursor: default;[^>]*>\s*(?P<N>.*?)\s*&nbsp;\s*<strong>\s*(?P<S>[\d.,]+)\s*(?P<U>[\w^_]+)\s*</strong>\s*</span>'
- OFFLINE_PATTERN = r'<span style="cursor: default;[^>]*>\s*&nbsp;\s*<strong>\s*</strong>\s*</span>'
- TEMP_OFFLINE_PATTERN = r'<span class="msg_red">Downloading of this file is temporarily disabled</span>'
-
-
- def handleFree(self):
- ukey = re.match(self.__pattern__, self.pyfile.url).group(1)
- json_url = 'http://ifile.it/new_download-request.json'
- post_data = {"ukey": ukey, "ab": "0"}
- res = json_loads(self.load(json_url, post=post_data))
-
- self.logDebug(res)
-
- if res['status'] == 3:
- self.offline()
-
- if res['captcha']:
- captcha_key = re.search(self.RECAPTCHA_PATTERN, self.html).group(1)
-
- recaptcha = ReCaptcha(self)
- post_data['ctype'] = "recaptcha"
-
- for _i in xrange(5):
- challenge, response = recaptcha.challenge(captcha_key)
- post_data.update({'recaptcha_challenge': challenge,
- 'recaptcha_response' : response})
- res = json_loads(self.load(json_url, post=post_data))
- self.logDebug(res)
-
- if res['retry']:
- self.invalidCaptcha()
- else:
- self.correctCaptcha()
- break
- else:
- self.fail(_("Incorrect captcha"))
-
- if not "ticket_url" in res:
- self.error(_("No download URL"))
-
- self.download(res['ticket_url'])
-
-
getInfo = create_getInfo(IfileIt)