summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/plugins/accounts/DepositfilesCom.py50
-rw-r--r--module/plugins/hoster/DepositfilesCom.py35
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