diff options
| author | 2010-08-19 21:53:28 +0200 | |
|---|---|---|
| committer | 2010-08-19 21:53:28 +0200 | |
| commit | 372f04ab525e1efba868772132293d6ce8237e09 (patch) | |
| tree | 4d61fc114eb7ca38ad3391831ed113f6f2308554 /module/plugins | |
| parent | account fixes (diff) | |
| download | pyload-372f04ab525e1efba868772132293d6ce8237e09.tar.xz | |
DepositfilesCom premium
Diffstat (limited to 'module/plugins')
| -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 | 
