diff options
author | GammaC0de <GammaC0de@users.noreply.github.com> | 2015-12-21 01:30:06 +0100 |
---|---|---|
committer | GammaC0de <GammaC0de@users.noreply.github.com> | 2015-12-21 01:30:06 +0100 |
commit | 693aa1c0df858d1771e907d4c0368b2fc003b20e (patch) | |
tree | f13232f10a4fb26f9207399e52d2ed2627808cc5 /module/plugins | |
parent | [SimpleHoster] update (5) (diff) | |
download | pyload-693aa1c0df858d1771e907d4c0368b2fc003b20e.tar.xz |
[UgouploadNet] new hoster
fix #2201
Diffstat (limited to 'module/plugins')
-rw-r--r-- | module/plugins/hoster/UgouploadNet.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/module/plugins/hoster/UgouploadNet.py b/module/plugins/hoster/UgouploadNet.py new file mode 100644 index 000000000..6e76a22fd --- /dev/null +++ b/module/plugins/hoster/UgouploadNet.py @@ -0,0 +1,53 @@ +# -*- 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.01" + __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): + 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"}) |