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