From b692dc0ba8e8940844eb647a1f15e435a55ce4eb Mon Sep 17 00:00:00 2001 From: RaNaN Date: Fri, 11 Mar 2011 23:41:40 +0100 Subject: closed #259, #250 --- module/plugins/hoster/FileserveCom.py | 44 ++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 8 deletions(-) (limited to 'module/plugins/hoster/FileserveCom.py') diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index 2e1bb1a59..9e14bfe7d 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -38,7 +38,7 @@ def getInfo(urls): class FileserveCom(Hoster): __name__ = "FileserveCom" __type__ = "hoster" - __pattern__ = r"http://(www\.)?fileserve\.com/file/.*?(/.*)?" + __pattern__ = r"http://(www\.)?fileserve\.com/file/[a-zA-Z0-9]+" __version__ = "0.3" __description__ = """Fileserve.Com File Download Hoster""" __author_name__ = ("jeix", "mkaay") @@ -54,6 +54,8 @@ class FileserveCom(Hoster): else: self.multiDL = False + self.file_id = re.search(r"fileserve\.com/file/([a-zA-Z0-9]+)(http:.*)?", self.pyfile.url).group(1) + def process(self, pyfile): self.html = self.load(self.pyfile.url, ref=False, cookies=False if self.account else True, utf8=True) @@ -76,7 +78,26 @@ class FileserveCom(Hoster): self.download(self.pyfile.url, post={"download":"premium"}, cookies=True) def handleFree(self): - + + self.html = self.load(self.pyfile.url) + jsPage = re.search(r"\"(/landing/.*?/download_captcha\.js)\"", self.html) + self.req.putHeader("X-Requested-With", "XMLHttpRequest") + + jsPage = self.load("http://fileserve.com" + jsPage.group(1)) + action = self.load(self.pyfile.url, post={"checkDownload" : "check"}) + + if "timeLimit" in action: + html = self.load(self.pyfile.url, post={"checkDownload" : "showError", "errorType" : "timeLimit"}) + wait = re.search(r"You need to wait (\d+) seconds to start another download", html) + if wait: + wait = int(wait.group(1)) + else: + wait = 720 + + self.setWait(wait, True) + self.wait() + self.retry() + if r'