summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/plugins/hoster/DepositfilesCom.py28
-rw-r--r--module/plugins/hoster/MegauploadCom.py29
-rw-r--r--module/plugins/hoster/ZippyshareCom.py29
3 files changed, 58 insertions, 28 deletions
diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py
index f4ccf45c8..45ba42544 100644
--- a/module/plugins/hoster/DepositfilesCom.py
+++ b/module/plugins/hoster/DepositfilesCom.py
@@ -14,12 +14,30 @@ class DepositfilesCom(Hoster):
__author_name__ = ("spoob")
__author_mail__ = ("spoob@pyload.org")
- def __init__(self, parent):
- Hoster.__init__(self, parent)
- self.parent = parent
- self.html = None
- self.multi_dl = False
+ def setup(self):
+ self.multiDL = False
+
+ def process(self, pyfile):
+ self.pyfile = pyfile
+ self.prepare()
+ pyfile.name = self.get_file_name()
+ self.download(self.get_file_url())
+ def prepare(self):
+ self.html = self.load(self.pyfile.url)
+ if re.search(r'File is checked, please try again in a minute.', self.html) != None:
+ self.log.info("DepositFiles.com: The file is being checked. Waiting 1 minute.")
+ self.setWait(61)
+ self.wait()
+
+ if re.search(r'Such file does not exist or it has been removed for infringement of copyrights', self.html) != None:
+ self.offline()
+
+ self.html = self.load(self.pyfile.url, post={"gateway_result":"1"})
+ wait_time = int(re.search(r'<span id="download_waiter_remain">(.*?)</span>', self.html).group(1))
+ self.setWait(wait_time)
+ self.log.debug("DepositFiles.com: Waiting %d seconds." % wait_time)
+
def get_file_url(self):
return urllib.unquote(re.search('<form action="(http://.+?\.depositfiles.com/.+?)" method="get"', self.html).group(1))
diff --git a/module/plugins/hoster/MegauploadCom.py b/module/plugins/hoster/MegauploadCom.py
index a3c64c124..06a25f44b 100644
--- a/module/plugins/hoster/MegauploadCom.py
+++ b/module/plugins/hoster/MegauploadCom.py
@@ -17,33 +17,38 @@ class MegauploadCom(Hoster):
__author_name__ = ("spoob")
__author_mail__ = ("spoob@pyload.org")
- def __init__(self, parent):
- Hoster.__init__(self, parent)
- self.parent = parent
- self.time_plus_wait = None
+ def setup(self):
self.html = [None, None]
- self.init_ocr()
- self.multi_dl = False
+ self.multiDL = False
+
+ def process(self, pyfile):
+ self.pyfile = pyfile
+ self.download_html()
+ if not self.file_exists():
+ self.offline()
+
+ self.setWait(45)
+ self.wait()
+
+ pyfile.name = self.get_file_name()
+ self.download(self.get_file_url())
def download_html(self):
captcha_image = tempfile.NamedTemporaryFile(suffix=".gif").name
for i in range(5):
- self.html[0] = self.load(self.parent.url)
+ 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
- self.req.download(url_captcha_html, captcha_image)
- captcha = self.ocr.get_captcha(captcha_image)
- os.remove(captcha_image)
+ 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)
- self.html[1] = self.load(self.parent.url, post={"captcha": captcha, "captchacode": captchacode, "megavar": megavar})
+ self.html[1] = self.load(self.pyfile.url, post={"captcha": captcha, "captchacode": captchacode, "megavar": megavar})
if re.search(r"Waiting time before each download begins", self.html[1]) != None:
break
- self.time_plus_wait = time() + 45
def get_file_url(self):
file_url_pattern = 'id="downloadlink"><a href="(.*)" onclick="'
diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py
index fb2702ee7..3740f8c14 100644
--- a/module/plugins/hoster/ZippyshareCom.py
+++ b/module/plugins/hoster/ZippyshareCom.py
@@ -9,20 +9,27 @@ class ZippyshareCom(Hoster):
__name__ = "ZippyshareCom"
__type__ = "hoster"
__pattern__ = r"(http://)?www?\d{0,2}\.zippyshare.com/v/"
- __version__ = "0.1"
+ __version__ = "0.2"
__description__ = """Zippyshare.com Download Hoster"""
__author_name__ = ("spoob")
__author_mail__ = ("spoob@pyload.org")
- def __init__(self, parent):
- Hoster.__init__(self, parent)
- self.parent = parent
+ def setup(self):
self.html = None
- self.want_reconnect = False
- self.multi_dl = False
+ self.wantReconnect = False
+ self.multiDL = False
+
+ def process(self, pyfile):
+ self.pyfile = pyfile
+ self.download_html()
+ if not self.file_exists():
+ self.offline()
+
+ pyfile.name = self.get_file_name()
+ self.download(self.get_file_url())
def download_html(self):
- url = self.parent.url
+ url = self.pyfile.url
self.html = self.load(url, cookies=True)
def get_file_url(self):
@@ -36,18 +43,18 @@ class ZippyshareCom(Hoster):
def get_file_name(self):
if self.html == None:
self.download_html()
- if not self.want_reconnect:
- file_name = re.search("<strong>Name: </strong>(.+?)</font>", self.html).group(1)
+ if not self.wantReconnect:
+ file_name = re.search(r'Name: </font> <font.*>(.*?)</font>', self.html).group(1)
return file_name
else:
- return self.parent.url
+ return self.pyfile.url
def file_exists(self):
""" returns True or False
"""
if self.html == None:
self.download_html()
- if re.search(r"HTTP Status 404", self.html) != None:
+ if re.search(r'File does not exist on this server', self.html) != None:
return False
else:
return True