From d6b14195bd33e7bc5e89e6e21b5b691c54c4629c Mon Sep 17 00:00:00 2001 From: RaNaN Date: Thu, 10 Mar 2011 20:16:12 +0100 Subject: fixed DepositFile free --- module/plugins/hoster/DepositfilesCom.py | 68 +++++++++++++++++--------------- module/web/media/default/css/default.css | 1 + 2 files changed, 38 insertions(+), 31 deletions(-) diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 9ac8f5b9b..3c1124709 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -15,36 +15,27 @@ class DepositfilesCom(Hoster): __author_mail__ = ("spoob@pyload.org") def setup(self): - self.req.canContinue = self.multiDL = True if self.account else False + self.resumeDownload = self.multiDL = True if self.account else False + + self.pyfile.url = re.sub(r"\.com(/.*?)?/files", ".com/de/files", self.pyfile.url) def process(self, pyfile): + self.html = self.load(self.pyfile.url, cookies=True if self.account else False) - if re.search(r"Such file does not exist or it has been removed for infringement of copyrights", self.html): + if '' in self.html: self.offline() - - if not self.account: - self.handleFree() - - try: - pyfile.name = re.search('File name: ', self.html).group(1) - except: - pyfile.name = re.search('Dateiname: ', self.html).group(1) - + + pyfile.name = re.search('(?s)Dateiname: .*?', self.html).group(1) + if self.account: - link = urllib.unquote(re.search('
\s*[\w]{1,3})/)?files/(?P[\w]+)", tmp_url) - if match: - if match.group("id"): - tmp_url = "http://depositfiles.com/en/files/" + match.group("id") + self.html = self.load(self.pyfile.url, post={"gateway_result":"1"}) if re.search(r'File is checked, please try again in a minute.', self.html) is not None: self.log.info("DepositFiles.com: The file is being checked. Waiting 1 minute.") @@ -52,23 +43,38 @@ class DepositfilesCom(Hoster): self.wait() self.retry() - if re.search(r'Such file does not exist or it has been removed for infringement of copyrights', self.html) is not None: - self.offline() - - self.html = self.load(tmp_url, post={"gateway_result":"1"}) - - m = re.search(r'(\d+)', self.html) - if m is not None: - wait_time = int( m.group(1) ) + wait = re.search(r'html_download_api-limit_interval\">(\d+)', self.html) + if wait: + wait_time = int(wait.group(1)) self.log.info( "%s: Traffic used up. Waiting %d seconds." % (self.__name__, wait_time) ) self.setWait(wait_time) if wait_time > 300: self.wantReconnect = True - self.wait() - - self.html = self.load(tmp_url, post={"gateway_result":"1"}) + + wait = re.search(r'>Try in (\d+) minutes or use GOLD account', self.html) + if wait: + wait_time = int(wait.group(1)) + self.log.info( "%s: All free slots occupied. Waiting %d minutes." % (self.__name__, wait_time) ) + self.setWait(wait_time * 60, False) + + wait = re.search(r'Please wait (\d+) sec', self.html) + if wait: + self.setWait(int(wait.group(1))) + + self.wait() + + form = re.search(r"\$\('#download_container'\)\.load\('([^']+)", self.html) + + self.html = self.load("http://depositfiles.com/"+ form.group(1)) + + link = urllib.unquote(re.search('
(.*?)', self.html).group(1)) #self.setWait(wait_time) #self.log.debug("DepositFiles.com: Waiting %d seconds." % wait_time) + + def handlePremium(self): + link = urllib.unquote(re.search('
\s*