diff options
author | mkaay <mkaay@mkaay.de> | 2010-08-13 13:13:44 +0200 |
---|---|---|
committer | mkaay <mkaay@mkaay.de> | 2010-08-13 13:13:44 +0200 |
commit | 8851a45a84576f59796361734ca86fd3344c573c (patch) | |
tree | 07094546739664359d2e6e2bd2acb748626f07cb /module/plugins/crypter | |
parent | Merge (diff) | |
parent | recaptcha + new crypter lof.cc (diff) | |
download | pyload-8851a45a84576f59796361734ca86fd3344c573c.tar.xz |
merge
Diffstat (limited to 'module/plugins/crypter')
-rw-r--r-- | module/plugins/crypter/LofCc.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py new file mode 100644 index 000000000..cd3a6fe4d --- /dev/null +++ b/module/plugins/crypter/LofCc.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import re +from time import sleep +from os.path import join + +from module.plugins.Crypter import Crypter +from module.plugins.ReCaptcha import ReCaptcha + +class LofCc(Crypter): + __name__ = "LofCc" + __type__ = "container" + __pattern__ = r"http://lof.cc/(.*)" + __version__ = "0.1" + __description__ = """lof.cc Plugin""" + __author_name__ = ("mkaay") + __author_mail__ = ("mkaay@mkaay.de") + + def setup(self): + self.multiDL = False + + def decrypt(self, pyfile): + html = self.req.load(self.pyfile.url, cookies=True) + + m = re.search(r"src=\"http://api.recaptcha.net/challenge\?k=(.*?)\"></script>", html) + if not m: + self.offline() + + recaptcha = ReCaptcha(self) + challenge, code = recaptcha.challenge(m.group(1)) + + resultHTML = self.req.load(self.pyfile.url, post={"recaptcha_challenge_field":challenge, "recaptcha_response_field":code}, cookies=True) + + if re.search("class=\"error\"", resultHTML): + self.retry() + + dlc = self.req.load(self.pyfile.url+"/dlc", cookies=True) + + name = re.search(self.__pattern__, self.pyfile.url).group(1)+".dlc" + + dlcFile = join(self.config["general"]["download_folder"], name) + f = open(dlcFile, "wb") + f.write(dlc) + f.close() + + self.packages.append((self.pyfile.package().name, [dlcFile], self.pyfile.package().folder)) |