diff options
author | RaNaN <Mast3rRaNaN@hotmail.de> | 2010-09-05 21:49:35 +0200 |
---|---|---|
committer | RaNaN <Mast3rRaNaN@hotmail.de> | 2010-09-05 21:49:35 +0200 |
commit | 00b4a7e6b57f12eb5086e244948a0cd8ad0c2188 (patch) | |
tree | 28c9a2c9202dc062f95118669f5698c8b5976e32 /module/plugins/hoster | |
parent | italian setup file (diff) | |
download | pyload-00b4a7e6b57f12eb5086e244948a0cd8ad0c2188.tar.xz |
MU fix + others
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r-- | module/plugins/hoster/MegauploadCom.py | 43 |
1 files changed, 40 insertions, 3 deletions
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"><a href="(.*)" onclick="' search = re.search(file_url_pattern, self.html[1]) return search.group(1).replace(" ", "%20") def get_file_name(self): - file_name_pattern = 'id="downloadlink"><a href="(.*)" onclick="' - return re.search(file_name_pattern, self.html[1]).group(1).split("/")[-1] + if not self.api: + file_name_pattern = 'id="downloadlink"><a href="(.*)" onclick="' + return re.search(file_name_pattern, self.html[1]).group(1).split("/")[-1] + else: + return self.api["name"] def file_exists(self): - self.download_html() + #self.download_html() if re.search(r"Unfortunately, the link you have clicked is not available.", self.html[0]) is not None or \ re.search(r"Download limit exceeded", self.html[0]) is not None: return False |