#!/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))