summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/CatShareNet.py
diff options
context:
space:
mode:
authorGravatar z00nx <z00nx0@gmail.com> 2013-01-10 21:48:46 +0100
committerGravatar z00nx <z00nx0@gmail.com> 2013-01-10 21:48:46 +0100
commitbf1ee80cb0905587fba0c320036b0082dfd13b3e (patch)
tree40bb534c60c64bf5a150a636f4ebbc4963563595 /module/plugins/hoster/CatShareNet.py
parentversion bump (diff)
downloadpyload-bf1ee80cb0905587fba0c320036b0082dfd13b3e.tar.xz
Initial CatShareNet plugin
Diffstat (limited to 'module/plugins/hoster/CatShareNet.py')
-rw-r--r--module/plugins/hoster/CatShareNet.py39
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)