diff options
author | z00nx <z00nx0@gmail.com> | 2013-01-10 21:48:46 +0100 |
---|---|---|
committer | z00nx <z00nx0@gmail.com> | 2013-01-10 21:48:46 +0100 |
commit | bf1ee80cb0905587fba0c320036b0082dfd13b3e (patch) | |
tree | 40bb534c60c64bf5a150a636f4ebbc4963563595 /module/plugins/hoster/CatShareNet.py | |
parent | version bump (diff) | |
download | pyload-bf1ee80cb0905587fba0c320036b0082dfd13b3e.tar.xz |
Initial CatShareNet plugin
Diffstat (limited to 'module/plugins/hoster/CatShareNet.py')
-rw-r--r-- | module/plugins/hoster/CatShareNet.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py new file mode 100644 index 000000000..ef77071a3 --- /dev/null +++ b/module/plugins/hoster/CatShareNet.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import re +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.ReCaptcha import ReCaptcha + + +class CatShareNet(SimpleHoster): + __name__ = "CatShareNet" + __type__ = "hoster" + __pattern__ = r"http://(www\.)?catshare.net/\w{16}.*" + __version__ = "0.01" + __description__ = """CatShare.net Download Hoster""" + __author_name__ = ("z00nx") + __author_mail__ = ("z00nx0@gmail.com") + + FILE_INFO_PATTERN = r'<h3 class="pull-left"[^>]+>(?P<N>.*)</h3>\s+<h3 class="pull-right"[^>]+>(?P<S>.*)</h3>' + FILE_OFFLINE_PATTERN = r'Podany plik został usunięty' + SECONDS_PATTERN = 'var\s+count\s+=\s+(\d+);' + RECAPTCHA_KEY = "6Lfln9kSAAAAANZ9JtHSOgxUPB9qfDFeLUI_QMEy" + + def handleFree(self): + self.logDebug(self.pyfile.url) + found = re.search(self.SECONDS_PATTERN, self.html) + seconds = int(found.group(1)) + self.logDebug("Seconds found", seconds) + self.setWait(seconds + 1) + self.wait() + recaptcha = ReCaptcha(self) + challenge, code = recaptcha.challenge(self.RECAPTCHA_KEY) + post_data = {"recaptcha_challenge_field": challenge, "recaptcha_response_field": code} + self.download(self.pyfile.url, post=post_data) + check = self.checkDownload({"html": re.compile("\A<!DOCTYPE html PUBLIC")}) + if check == "html": + self.logDebug("Wrong captcha entered") + self.invalidCaptcha() + self.retry() + +getInfo = create_getInfo(CatShareNet) |