summaryrefslogtreecommitdiffstats
path: root/module/plugins/crypter/DDLMusicOrg.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/crypter/DDLMusicOrg.py')
-rw-r--r--module/plugins/crypter/DDLMusicOrg.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py
new file mode 100644
index 000000000..1c5632cda
--- /dev/null
+++ b/module/plugins/crypter/DDLMusicOrg.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import re
+from time import sleep
+
+from module.plugins.Crypter import Crypter
+
+class DDLMusicOrg(Crypter):
+ __name__ = "DDLMusicOrg"
+ __type__ = "container"
+ __pattern__ = r"http://[\w\.]*?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+"
+ __version__ = "0.1"
+ __description__ = """ddl-music.org Container Plugin"""
+ __author_name__ = ("mkaay")
+ __author_mail__ = ("mkaay@mkaay.de")
+
+ def __init__(self, parent):
+ Crypter.__init__(self, parent)
+ self.parent = parent
+ self.html = None
+ self.multi_dl = False
+
+ def download_html(self):
+ url = self.parent.url
+ self.html = self.req.load(url, cookies=True)
+
+ def file_exists(self):
+ """ returns True or False
+ """
+ if not self.html:
+ self.download_html()
+ if re.search(r"Wer dies nicht rechnen kann", self.html) != None:
+ return True
+ return False
+
+ def proceed(self, url, location):
+ for i in range(5):
+ self.download_html()
+ posturl = re.search(r"id=\"captcha\" action=\"(/captcha/ddlm_cr\d\.php)\"", self.html).group(1)
+ 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.req.load("http://ddl-music.org%s" % posturl, 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.links = [m.group(1)]
+ return
+ self.links = False