From 29f9dc8fb3396b03d732ebcbeb1cc8f00fe13897 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Wed, 25 Aug 2010 18:22:27 +0200 Subject: new dirs --- module/plugins/crypter/LofCc.py | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 module/plugins/crypter/LofCc.py (limited to 'module/plugins/crypter/LofCc.py') 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=(.*?)\">", 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)) -- cgit v1.2.3