diff options
author | mkaay <mkaay@mkaay.de> | 2010-08-13 13:09:21 +0200 |
---|---|---|
committer | mkaay <mkaay@mkaay.de> | 2010-08-13 13:09:21 +0200 |
commit | dae3ed77f3a36ba81c051bc3f47bdaeabcc4f129 (patch) | |
tree | 1fbb1516d50783f9d246fc31402c12d00dbcd209 /module/plugins/crypter | |
parent | unrar hook :D, account fix, other fixes (diff) | |
download | pyload-dae3ed77f3a36ba81c051bc3f47bdaeabcc4f129.tar.xz |
recaptcha + new crypter lof.cc
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)) |