From 98b6f2781ecff3ad2a0eefbea0c98cb832e76fda Mon Sep 17 00:00:00 2001 From: prOq Date: Sat, 27 Sep 2014 03:56:24 +0200 Subject: [CatShareNet] Plugin rewritten --- module/plugins/hoster/CatShareNet.py | 49 +++++++++++++++++++++++------------- module/plugins/hoster/TurbobitNet.py | 2 +- 2 files changed, 32 insertions(+), 19 deletions(-) (limited to 'module/plugins') diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index 4bbdfce89..2bcd261b7 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -2,43 +2,56 @@ import re -from module.plugins.internal.CaptchaService import ReCaptcha +from urllib import unquote + from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.CaptchaService import ReCaptcha class CatShareNet(SimpleHoster): __name__ = "CatShareNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?catshare.net/\w{16}.*' + __pattern__ = r'http://(?:www\.)?catshare\.net/\w+' __description__ = """CatShare.net hoster plugin""" - __author_name__ = "z00nx" - __author_mail__ = "z00nx0@gmail.com" + __author_name__ = ("z00nx", "prOq") + __author_mail__ = ("z00nx0@gmail.com", None) - FILE_INFO_PATTERN = r'

]+>(?P.*)

\s+

]+>(?P.*)

' - OFFLINE_PATTERN = r'Podany plik zosta' - SECONDS_PATTERN = r'var\s+count\s+=\s+(\d+);' + FILE_INFO_PATTERN = r'

]+>(?P.+)

\s+

]+>(?P.+)

' + FILE_OFFLINE_PATTERN = r'Podany plik zosta' + SECONDS_PATTERN = 'var\s+count\s+=\s+(\d+);' RECAPTCHA_KEY = "6Lfln9kSAAAAANZ9JtHSOgxUPB9qfDFeLUI_QMEy" + LINK_PATTERN = r'
' def handleFree(self): m = re.search(self.SECONDS_PATTERN, self.html) - seconds = int(m.group(1)) - self.logDebug("Seconds found", seconds) - self.wait(seconds + 1) - recaptcha = ReCaptcha(self) + if m is not None: + seconds = int(m.group(1)) + self.logDebug("Seconds found", seconds) + self.wait(seconds + 1) + + # solve captcha and send solution 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(?P.+?)<' -- cgit v1.2.3