From 372f04ab525e1efba868772132293d6ce8237e09 Mon Sep 17 00:00:00 2001 From: mkaay Date: Thu, 19 Aug 2010 21:53:28 +0200 Subject: DepositfilesCom premium --- module/plugins/accounts/DepositfilesCom.py | 50 ++++++++++++++++++++++++++++++ module/plugins/hoster/DepositfilesCom.py | 35 +++++++++------------ 2 files changed, 65 insertions(+), 20 deletions(-) create mode 100644 module/plugins/accounts/DepositfilesCom.py diff --git a/module/plugins/accounts/DepositfilesCom.py b/module/plugins/accounts/DepositfilesCom.py new file mode 100644 index 000000000..044f647be --- /dev/null +++ b/module/plugins/accounts/DepositfilesCom.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- + +""" + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . + + @author: mkaay +""" + +from module.plugins.Account import Account +import re +from time import strptime, mktime +import hashlib + +class DepositfilesCom(Account): + __name__ = "DepositfilesCom" + __version__ = "0.1" + __type__ = "account" + __description__ = """depositfiles.com account plugin""" + __author_name__ = ("mkaay") + __author_mail__ = ("mkaay@mkaay.de") + + def getAccountInfo(self, user): + req = self.core.requestFactory.getRequest(self.__name__, user) + + src = req.load("http://depositfiles.com/de/gold/") + validuntil = re.search("noch den Gold-Zugriff: (.*?)", src).group(1) + + validuntil = int(mktime(strptime(validuntil, "%Y-%m-%d %H:%M:%S"))) + + out = Account.getAccountInfo(self, user) + + tmp = {"validuntil":validuntil, "trafficleft":-1} + out.update(tmp) + return out + + def login(self, user, data): + req = self.core.requestFactory.getRequest(self.__name__, user) + req.load("http://depositfiles.com/de/gold/payment.php") + req.load("http://depositfiles.com/de/login.php", get={"return": "/de/gold/payment.php"}, post={"login": user, "password": data["password"]}) diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 45ba42544..0f4f680c8 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -8,23 +8,30 @@ from module.plugins.Hoster import Hoster class DepositfilesCom(Hoster): __name__ = "DepositfilesCom" __type__ = "hoster" - __pattern__ = r"http://depositfiles.com/.{2,}/files/" + __pattern__ = r"http://[\\w\\.]*?depositfiles\\.com(/\\w{1,3})?/files/[\\w]+" __version__ = "0.1" __description__ = """Depositfiles.com Download Hoster""" __author_name__ = ("spoob") __author_mail__ = ("spoob@pyload.org") def setup(self): - self.multiDL = False + self.req.canContinue = self.multiDL = True if self.account else False def process(self, pyfile): - self.pyfile = pyfile - self.prepare() - pyfile.name = self.get_file_name() - self.download(self.get_file_url()) + self.html = self.load(self.pyfile.url, cookies=False 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): + self.offline() + + if not self.account: + self.handleFree() + + pyfile.name = re.search('File name: ', self.html).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 get_file_url(self): - return urllib.unquote(re.search('', self.html).group(1) - - def file_exists(self): - self.html = self.load(self.parent.url) - if re.search(r"Such file does not exist or it has been removed for infringement of copyrights", self.html) != None: - return False - return True -- cgit v1.2.3