diff options
author | spoob <spoob@gmx.de> | 2009-12-17 19:12:25 +0100 |
---|---|---|
committer | spoob <spoob@gmx.de> | 2009-12-17 19:12:25 +0100 |
commit | d39d51044b8b36a0dae2bda3214f5be554654b9a (patch) | |
tree | aa066dd1af463a08b841f83c47a84702a77e5ac4 | |
parent | fixed QueueManager (diff) | |
download | pyload-d39d51044b8b36a0dae2bda3214f5be554654b9a.tar.xz |
Fixed Megaupload, need better captcha detection
-rw-r--r-- | config | 6 | ||||
-rw-r--r-- | module/plugins/MegauploadCom.py | 18 | ||||
-rw-r--r-- | module/plugins/RapidshareCom.py | 4 |
3 files changed, 19 insertions, 9 deletions
@@ -10,7 +10,7 @@ cert = ssl.crt key = ssl.key [webinterface] -activated = True +activated = False host = 127.0.0.1 # 0.0.0.0 to make it accessible from everywhere port = 8000 @@ -36,7 +36,7 @@ use_reconnect = False link_file = links.txt failed_file = failed_links.txt reconnect_method = reconnect_method -debug_mode = False +debug_mode = True #hours max_download_time = 5 @@ -55,4 +55,4 @@ end = 0:00 [proxy] activated = False adress = http://localhost:8080 -protocol = http
\ No newline at end of file +protocol = http diff --git a/module/plugins/MegauploadCom.py b/module/plugins/MegauploadCom.py index 3736503c0..db1859db7 100644 --- a/module/plugins/MegauploadCom.py +++ b/module/plugins/MegauploadCom.py @@ -4,6 +4,7 @@ import os import re import tempfile +from time import time from module.Plugin import Plugin @@ -21,6 +22,8 @@ class MegauploadCom(Plugin): props['author_mail'] = ("spoob@pyload.org") self.props = props self.parent = parent + self.time_plus_wait = None #time() + wait in seconds + self.html = [None, None] self.want_reconnect = False self.init_ocr() @@ -31,18 +34,24 @@ class MegauploadCom(Plugin): captcha_image = tempfile.NamedTemporaryFile(suffix=".gif").name - for i in range(5): + got_captcha = False + + for i in range(10): self.html[0] = self.req.load(url, cookies=True) url_captcha_html = re.search('(http://www.{,3}\.megaupload\.com/gencap.php\?.*\.gif)', self.html[0]).group(1) self.req.download(url_captcha_html, captcha_image, cookies=True) captcha = self.ocr.get_captcha(captcha_image) + os.remove(captcha_image) captchacode = re.search('name="captchacode" value="(.*)"', self.html[0]).group(1) megavar = re.search('name="megavar" value="(.*)">', self.html[0]).group(1) self.html[1] = self.req.load(url, post={"captcha": captcha, "captchacode": captchacode, "megavar": megavar}, cookies=True) if re.search(r"Waiting time before each download begins", self.html[1]) != None: + got_captcha = True break + self.time_plus_wait = time() + 45 + if not got_captcha: + raise "Fuckin captcha to hard" - os.remove(captcha_image) def get_file_url(self): """ returns the absolute downloadable filepath @@ -52,7 +61,7 @@ class MegauploadCom(Plugin): if not self.want_reconnect: file_url_pattern = 'id="downloadlink"><a href="(.*)" onclick="' search = re.search(file_url_pattern, self.html[1]) - return search.group(1) + return search.group(1).replace(" ", "%20") else: return False @@ -75,3 +84,6 @@ class MegauploadCom(Plugin): return False else: return True + + def proceed(self, url, location): + self.req.download(url, location, cookies=True) diff --git a/module/plugins/RapidshareCom.py b/module/plugins/RapidshareCom.py index c4e1f8ef9..615dda521 100644 --- a/module/plugins/RapidshareCom.py +++ b/module/plugins/RapidshareCom.py @@ -38,9 +38,7 @@ class RapidshareCom(Plugin): def prepare(self, thread): pyfile = self.parent - - self.want_reconnect = False - + self.download_api_data() if self.api_data["status"] == "1": pyfile.status.filename = self.get_file_name() |