summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pyload/plugins/hoster/Keep2shareCC.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/pyload/plugins/hoster/Keep2shareCC.py b/pyload/plugins/hoster/Keep2shareCC.py
index 323ee09ca..59308690c 100644
--- a/pyload/plugins/hoster/Keep2shareCC.py
+++ b/pyload/plugins/hoster/Keep2shareCC.py
@@ -16,7 +16,7 @@
############################################################################
# Test links (random.bin):
-# http://k2s.cc/file/527111edfb9ba/random.bin
+# http://k2s.cc/file/55fb73e1c00c5/random.bin
import re
from urlparse import urlparse, urljoin
@@ -29,7 +29,7 @@ class Keep2shareCC(SimpleHoster):
__name__ = "Keep2shareCC"
__type__ = "hoster"
__pattern__ = r"https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)"
- __version__ = "0.08"
+ __version__ = "0.10"
__description__ = """Keep2share.cc hoster plugin"""
__author_name__ = ("stickell")
__author_mail__ = ("l.stickell@yahoo.it")
@@ -40,6 +40,7 @@ class Keep2shareCC(SimpleHoster):
DIRECT_LINK_PATTERN = r'To download this file with slow speed, use <a href="([^"]+)">this link</a>'
WAIT_PATTERN = r'Please wait ([\d:]+) to download this file'
+ ALREADY_DOWNLOADING_PATTERN = r'Free account does not allow to download more than one file at the same time'
RECAPTCHA_KEY = '6LcYcN0SAAAAABtMlxKj7X0hRxOY8_2U86kI1vbb'
@@ -60,6 +61,22 @@ class Keep2shareCC(SimpleHoster):
self.html = self.load(self.pyfile.url, post={'uniqueId': self.fid, 'free': 1})
+ m = re.search(self.WAIT_PATTERN, self.html)
+ if m:
+ self.logDebug('Hoster told us to wait for %s' % m.group(1))
+ # string to time convert courtesy of https://stackoverflow.com/questions/10663720
+ ftr = [3600, 60, 1]
+ wait_time = sum([a * b for a, b in zip(ftr, map(int, m.group(1).split(':')))])
+ self.wait(wait_time, reconnect=True)
+ self.retry()
+
+ m = re.search(self.ALREADY_DOWNLOADING_PATTERN, self.html)
+ if m:
+ # if someone is already downloading on our line, wait 30min and retry
+ self.logDebug('Already downloading, waiting for 30 minutes')
+ self.wait(1800, reconnect=True)
+ self.retry()
+
m = re.search(self.DIRECT_LINK_PATTERN, self.html)
if not m:
self.parseError("Unable to detect direct link")