# -*- coding: utf-8 -*- import re from time import sleep from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): __name__ = "DDLMusicOrg" __type__ = "crypter" __version__ = "0.30" __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Ddl-music.org decrypter plugin""" __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] def setup(self): self.multiDL = False def decrypt(self, pyfile): html = self.load(pyfile.url, cookies=True) if re.search(r"Wer dies nicht rechnen kann", html) is not None: self.offline() math = re.search(r"(\d+) ([+-]) (\d+) =\s+<inp", self.html) id = re.search(r"name=\"id\" value=\"(\d+)\"", self.html).group(1) linknr = re.search(r"name=\"linknr\" value=\"(\d+)\"", self.html).group(1) solve = "" if math.group(2) == "+": solve = int(math.group(1)) + int(math.group(3)) else: solve = int(math.group(1)) - int(math.group(3)) sleep(3) htmlwithlink = self.load(pyfile.url, cookies=True, post={"calc%s" % linknr: solve, "send%s" % linknr: "Send", "id": id, "linknr": linknr}) m = re.search(r"<form id=\"ff\" action=\"(.*?)\" method=\"post\">", htmlwithlink) if m: self.urls = [m.group(1)] else: self.retry()