diff options
author | RaNaN <Mast3rRaNaN@hotmail.de> | 2010-08-25 18:22:27 +0200 |
---|---|---|
committer | RaNaN <Mast3rRaNaN@hotmail.de> | 2010-08-25 18:22:27 +0200 |
commit | 29f9dc8fb3396b03d732ebcbeb1cc8f00fe13897 (patch) | |
tree | f2a910cbea747a7b0c0a50d6c66691e54f5ef47f /module/plugins/crypter/LofCc.py | |
parent | merged gui (diff) | |
download | pyload-29f9dc8fb3396b03d732ebcbeb1cc8f00fe13897.tar.xz |
new dirs
Diffstat (limited to 'module/plugins/crypter/LofCc.py')
-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)) |