diff options
-rw-r--r-- | module/plugins/accounts/DepositfilesCom.py | 50 | ||||
-rw-r--r-- | module/plugins/hoster/DepositfilesCom.py | 35 |
2 files changed, 65 insertions, 20 deletions
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 <http://www.gnu.org/licenses/>. + + @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: <b>(.*?)</b></div>", 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: <b title="(.*)">', self.html).group(1) + + link = urllib.unquote(re.search('<form action="(http://.+?\.depositfiles.com/.+?)" method="get"', self.html).group(1)) + self.download(link) - def prepare(self): - self.html = self.load(self.pyfile.url) + def handleFree(self): 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) @@ -37,15 +44,3 @@ class DepositfilesCom(Hoster): 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)) - - def get_file_name(self): - return re.search('File name: <b title="(.*)">', 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 |