From 00b4a7e6b57f12eb5086e244948a0cd8ad0c2188 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sun, 5 Sep 2010 21:49:35 +0200 Subject: MU fix + others --- module/plugins/Plugin.py | 11 +++++---- module/plugins/hoster/MegauploadCom.py | 43 +++++++++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 7 deletions(-) (limited to 'module') diff --git a/module/plugins/Plugin.py b/module/plugins/Plugin.py index 9995da59a..449a032a7 100644 --- a/module/plugins/Plugin.py +++ b/module/plugins/Plugin.py @@ -206,9 +206,12 @@ class Plugin(object): temp.write(content) temp.close() - - Ocr = self.core.pluginManager.getCaptchaPlugin(self.__name__) - if Ocr and not forceUser and self.core.captcha: + if self.core.captcha: + Ocr = self.core.pluginManager.getCaptchaPlugin(self.__name__) + else: + Ocr = None + + if Ocr and not forceUser: sleep(randint(3000, 5000) / 1000.0) if self.pyfile.abort: raise Abort @@ -224,7 +227,7 @@ class Plugin(object): if not self.core.isClientConnected(): task.removeTask() #temp.unlink(temp.name) - self.fail(_("No Client connected for captcha decrypting.")) + self.fail(_("No Client connected for captcha decrypting, or pil and tesseract not installed")) if self.pyfile.abort: raise Abort sleep(1) result = task.getResult() diff --git a/module/plugins/hoster/MegauploadCom.py b/module/plugins/hoster/MegauploadCom.py index 8f22f4a66..94c845a08 100644 --- a/module/plugins/hoster/MegauploadCom.py +++ b/module/plugins/hoster/MegauploadCom.py @@ -55,10 +55,13 @@ class MegauploadCom(Hoster): def setup(self): self.html = [None, None] self.multiDL = False + self.api = {} def process(self, pyfile): self.pyfile = pyfile self.download_html() + self.download_api() + if not self.file_exists(): self.offline() @@ -98,17 +101,51 @@ class MegauploadCom(Hoster): if re.search(r"Waiting time before each download begins", self.html[1]) is not None: break + def download_api(self): + + url = "http://megaupload.com/mgr_linkcheck.php" + + id = self.pyfile.url.split("=")[-1] + + + post = {"id0": id} + + api = self.load(url, {}, post) + api = [x.split("&") for x in re.split(r"&?(?=id[\d]+=)", api)] + + for data in api: + if data[0].startswith("id"): + tmp = [x.split("=") for x in data] + if tmp[2][1] == "3": + status = 3 + elif tmp[0][1] == "0": + status = 2 + elif tmp[0][1] == "1": + self.offline() + else: + status = 3 + + name = tmp[3][1] + #size = tmp[1][1] + + self.api["name"] = name + self.pyfile.name = name + + def get_file_url(self): file_url_pattern = 'id="downloadlink">