summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/FileDatabase.py6
-rwxr-xr-xmodule/network/Request.py4
-rw-r--r--module/plugins/hoster/MegauploadCom.py44
3 files changed, 45 insertions, 9 deletions
diff --git a/module/FileDatabase.py b/module/FileDatabase.py
index 98d75d58e..3ede67a98 100644
--- a/module/FileDatabase.py
+++ b/module/FileDatabase.py
@@ -163,9 +163,6 @@ class FileHandler:
p = self.getPackage(id)
e = RemoveEvent("pack", id, "collector" if not p.queue else "queue")
- if self.packageCache.has_key(id):
- del self.packageCache[id]
-
pyfiles = self.cache.values()
for pyfile in pyfiles:
@@ -176,6 +173,9 @@ class FileHandler:
self.db.deletePackage(p)
self.core.pullManager.addEvent(e)
+ if self.packageCache.has_key(id):
+ del self.packageCache[id]
+
self.lock.release()
#----------------------------------------------------------------------
diff --git a/module/network/Request.py b/module/network/Request.py
index d1964d87f..7413358d7 100755
--- a/module/network/Request.py
+++ b/module/network/Request.py
@@ -378,12 +378,12 @@ class Request:
except:
pass
-def getURL(url):
+def getURL(url, get={}, post={}):
"""
currently used for update check
"""
req = Request()
- c = req.load(url)
+ c = req.load(url, get, post)
req.pycurl.close()
return c
diff --git a/module/plugins/hoster/MegauploadCom.py b/module/plugins/hoster/MegauploadCom.py
index 06a25f44b..a1eaf6cc5 100644
--- a/module/plugins/hoster/MegauploadCom.py
+++ b/module/plugins/hoster/MegauploadCom.py
@@ -8,6 +8,44 @@ from time import time
from module.plugins.Hoster import Hoster
+from module.network.Request import getURL
+
+def getInfo(urls):
+ url = "http://megaupload.com/mgr_linkcheck.php"
+
+ ids = [x.split("=")[-1] for x in urls]
+
+ i = 0
+ post = {}
+ for id in ids:
+ post["id%i"%i] = id
+ i += 1
+
+ api = getURL(url, {}, post)
+ api = [x.split("&") for x in re.split(r"&?(?=id[\d]+=)", api)]
+
+ result = []
+ i=0
+ 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":
+ status = 1
+ else:
+ status = 3
+
+ name = tmp[3][1]
+ size = tmp[1][1]
+
+ result.append( (name, size, status, urls[i] ) )
+ i += 1
+
+ yield result
+
class MegauploadCom(Hoster):
__name__ = "MegauploadCom"
__type__ = "hoster"
@@ -33,16 +71,14 @@ class MegauploadCom(Hoster):
pyfile.name = self.get_file_name()
self.download(self.get_file_url())
- def download_html(self):
- captcha_image = tempfile.NamedTemporaryFile(suffix=".gif").name
-
+ def download_html(self):
for i in range(5):
self.html[0] = self.load(self.pyfile.url)
try:
url_captcha_html = re.search('(http://www.{,3}\.megaupload\.com/gencap.php\?.*\.gif)', self.html[0]).group(1)
except:
continue
- self.pyfile.status.waituntil = time() + 10
+
captcha = self.decryptCaptcha(url_captcha_html)
captchacode = re.search('name="captchacode" value="(.*)"', self.html[0]).group(1)
megavar = re.search('name="megavar" value="(.*)">', self.html[0]).group(1)