diff options
Diffstat (limited to 'module/plugins/hoster/UgouploadNet.py')
-rw-r--r-- | module/plugins/hoster/UgouploadNet.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/module/plugins/hoster/UgouploadNet.py b/module/plugins/hoster/UgouploadNet.py new file mode 100644 index 000000000..fec2e11d1 --- /dev/null +++ b/module/plugins/hoster/UgouploadNet.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.captcha.ReCaptcha import ReCaptcha +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class UgouploadNet(SimpleHoster): + __name__ = "UgouploadNet" + __type__ = "hoster" + __version__ = "0.02" + __status__ = "testing" + + __pattern__ = r'https?://(?:www)?\.ugoupload\.net/\w{4}/.+' + __config__ = [("activated" , "bool", "Activated" , True), + ("use_premium" , "bool", "Use premium account if available" , True), + ("fallback" , "bool", "Fallback to free download if premium fails" , True), + ("chk_filesize", "bool", "Check file size" , True), + ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )] + + __description__ = """ugoupload.net hoster plugin""" + __license__ = "GPLv3" + __authors__ = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] + + + NAME_PATTERN = r'<div class="heading-1 animated".*>(.+?)</div>' + SIZE_PATTERN = r'\((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)<br/>' + + WAIT_PATTERN = r'var seconds = (\d+);' + LINK_FREE_PATTERN = r"<a class='btn btn-free' href='(.+?)'" + + RECAPTCHA_KEY = "6LeuAc4SAAAAAOSry8eo2xW64K1sjHEKsQ5CaS10" + + + def setup(self): + self.resume_download = False + self.multiDL = False + + + def handle_free(self, pyfile): + if self.req.code == 404: + self.offline() + + self.check_errors() + + m = re.search(self.LINK_FREE_PATTERN, self.data) + if m: + recaptcha = ReCaptcha(self) + response, challenge = recaptcha.challenge(self.RECAPTCHA_KEY) + + self.download(m.group(1), post={'recaptcha_challenge_field': challenge, + 'recaptcha_response_field': response, + 'submit': "Submit", + 'submitted': "1", + 'd': "1"}) |