summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/plugins/hooks/ExternalScripts.py1
-rw-r--r--module/plugins/hoster/FastixRu.py6
-rw-r--r--module/plugins/hoster/Keep2shareCC.py6
-rw-r--r--module/plugins/hoster/NowDownloadEu.py22
-rw-r--r--module/plugins/hoster/PutlockerCom.py10
-rw-r--r--module/plugins/hoster/TusfilesNet.py8
6 files changed, 29 insertions, 24 deletions
diff --git a/module/plugins/hooks/ExternalScripts.py b/module/plugins/hooks/ExternalScripts.py
index de8afda5f..b1a9420bb 100644
--- a/module/plugins/hooks/ExternalScripts.py
+++ b/module/plugins/hooks/ExternalScripts.py
@@ -73,6 +73,7 @@ class ExternalScripts(Hook):
def callScript(self, script, *args):
try:
cmd = [script] + [str(x) if not isinstance(x, basestring) else x for x in args]
+ self.logDebug("Executing %(script)s: %(cmd)s" % {"script": os.path.abspath(script), "cmd": " ".join(cmd)})
#output goes to pyload
subprocess.Popen(cmd, bufsize=-1)
except Exception, e:
diff --git a/module/plugins/hoster/FastixRu.py b/module/plugins/hoster/FastixRu.py
index c2791c5d2..8805081c9 100644
--- a/module/plugins/hoster/FastixRu.py
+++ b/module/plugins/hoster/FastixRu.py
@@ -9,11 +9,11 @@ from module.common.json_layer import json_loads
class FastixRu(Hoster):
__name__ = "FastixRu"
- __version__ = "0.03"
+ __version__ = "0.04"
__type__ = "hoster"
- __pattern__ = r"http?://.*fastix.ru\..*"
+ __pattern__ = r"http://(?:www\.)?fastix\.(ru|it)/file/(?P<ID>[a-zA-Z0-9]{24})"
__description__ = """Fastix hoster plugin"""
- __author_name__ = ("Massimo, Rosamilia")
+ __author_name__ = ("Massimo Rosamilia")
__author_mail__ = ("max@spiritix.eu")
def getFilename(self, url):
diff --git a/module/plugins/hoster/Keep2shareCC.py b/module/plugins/hoster/Keep2shareCC.py
index 2eada84ec..d2a13e35b 100644
--- a/module/plugins/hoster/Keep2shareCC.py
+++ b/module/plugins/hoster/Keep2shareCC.py
@@ -27,8 +27,8 @@ from module.plugins.internal.CaptchaService import ReCaptcha
class Keep2shareCC(SimpleHoster):
__name__ = "Keep2shareCC"
__type__ = "hoster"
- __pattern__ = r"http://(?:www\.)?(?:keep2share|k2s)\.cc/file/(?P<ID>.+)"
- __version__ = "0.04"
+ __pattern__ = r"https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>[a-zA-Z0-9]{13})"
+ __version__ = "0.05"
__description__ = """Keep2share.cc hoster plugin"""
__author_name__ = ("stickell")
__author_mail__ = ("l.stickell@yahoo.it")
@@ -51,7 +51,7 @@ class Keep2shareCC(SimpleHoster):
m = re.search(self.WAIT_PATTERN, self.html)
if m:
wait_string = m.group(1)
- wait_time = int(wait_string[0:2]) * 3600 + int(wait_string[3:5]) * 60 + int(wait_string[6:8])
+ wait_time = int(wait_string[0:2]) * 60 * 60 + int(wait_string[3:5]) * 60 + int(wait_string[6:8])
self.setWait(wait_time, True)
self.wait()
self.process(self.pyfile)
diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py
index 930efc23e..ff7d237f5 100644
--- a/module/plugins/hoster/NowDownloadEu.py
+++ b/module/plugins/hoster/NowDownloadEu.py
@@ -24,16 +24,18 @@ from module.utils import fixup
class NowDownloadEu(SimpleHoster):
__name__ = "NowDownloadEu"
__type__ = "hoster"
- __pattern__ = r"http://(www\.)?nowdownload\.(eu|co)/dl/(?P<ID>[a-z0-9]+)"
- __version__ = "0.02"
- __description__ = """NowDownloadEu"""
- __author_name__ = ("godofdream")
+ __pattern__ = r"http://(?:www\.)?nowdownload\.(ch|eu|co)/(dl/|download\.php\?id=)(?P<ID>[a-zA-Z0-9]+)"
+ __version__ = "0.03"
+ __description__ = """NowDownloadCh"""
+ __author_name__ = ("godofdream", "Walter Purcaro")
+ __author_mail__ = ("", "vuolter@gmail.com")
+
FILE_INFO_PATTERN = r'Downloading</span> <br> (?P<N>.*) (?P<S>[0-9,.]+) (?P<U>[kKMG])i?B </h4>'
FILE_OFFLINE_PATTERN = r'(This file does not exist!)'
FILE_TOKEN_PATTERN = r'"(/api/token\.php\?token=[a-z0-9]+)"'
FILE_CONTINUE_PATTERN = r'"(/dl2/[a-z0-9]+/[a-z0-9]+)"'
FILE_WAIT_PATTERN = r'\.countdown\(\{until: \+(\d+),'
- FILE_DOWNLOAD_LINK = r'"(http://f\d+\.nowdownload\.eu/dl/[a-z0-9]+/[a-z0-9]+/[^<>"]*?)"'
+ FILE_DOWNLOAD_LINK = r'"(http://f\d+\.nowdownload\.ch/dl/[a-z0-9]+/[a-z0-9]+/[^<>"]*?)"'
FILE_NAME_REPLACEMENTS = [("&#?\w+;", fixup), (r'<[^>]*>', '')]
@@ -44,19 +46,21 @@ class NowDownloadEu(SimpleHoster):
def handleFree(self):
tokenlink = re.search(self.FILE_TOKEN_PATTERN, self.html)
continuelink = re.search(self.FILE_CONTINUE_PATTERN, self.html)
- if (not tokenlink) or (not continuelink):
+ if not tokenlink or not continuelink:
self.fail('Plugin out of Date')
- wait = 60
found = re.search(self.FILE_WAIT_PATTERN, self.html)
if found:
wait = int(found.group(1))
+ else
+ wait = 60
- self.html = self.load("http://www.nowdownload.eu" + str(tokenlink.group(1)))
+ baseurl = "http://www.nowdownload.ch"
+ self.html = self.load(baseurl + str(tokenlink.group(1)))
self.setWait(wait)
self.wait()
- self.html = self.load("http://www.nowdownload.eu" + str(continuelink.group(1)))
+ self.html = self.load(baseurl + str(continuelink.group(1)))
url = re.search(self.FILE_DOWNLOAD_LINK, self.html)
if not url:
diff --git a/module/plugins/hoster/PutlockerCom.py b/module/plugins/hoster/PutlockerCom.py
index 7b9ac1f84..afe084028 100644
--- a/module/plugins/hoster/PutlockerCom.py
+++ b/module/plugins/hoster/PutlockerCom.py
@@ -26,8 +26,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster
class PutlockerCom(SimpleHoster):
__name__ = "PutlockerCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?putlocker\.com/(mobile/)?(file|embed)/(?P<ID>[A-Z0-9]+)'
- __version__ = "0.31"
+ __pattern__ = r'http://(?:www\.)?putlocker\.com/(mobile/)?(file|embed)/(?P<ID>[a-zA-Z0-9]+)'
+ __version__ = "0.32"
__description__ = """Putlocker.Com"""
__author_name__ = ("jeix", "stickell", "Walter Purcaro")
__author_mail__ = ("", "l.stickell@yahoo.it", "vuolter@gmail.com")
@@ -58,9 +58,9 @@ class PutlockerCom(SimpleHoster):
self.html = self.load(self.pyfile.url, post=post_data)
if (">You have exceeded the daily stream limit for your country\\. You can wait until tomorrow" in self.html or
"(>This content server has been temporarily disabled for upgrades|Try again soon\\. You can still download it below\\.<)" in self.html):
- self.retry(wait_time=7200, reason="Download limit exceeded or server disabled") # 2 hours wait
+ self.retry(wait_time=60 * 60 * 2, reason="Download limit exceeded or server disabled") # 2 hours wait
- patterns = (r'(/get_file\.php\?id=[A-Z0-9]+&key=[A-Za-z0-9=]+&original=1)',
+ patterns = (r'(/get_file\.php\?id=[A-Z0-9]+&key=[a-zA-Z0-9=]+&original=1)',
r'(/get_file\.php\?download=[A-Z0-9]+&key=[a-z0-9]+)',
r'(/get_file\.php\?download=[A-Z0-9]+&key=[a-z0-9]+&original=1)',
r'<a href="/gopro\.php">Tired of ads and waiting\? Go Pro!</a>[\t\n\rn ]+</div>[\t\n\rn ]+<a href="(/.*?)"')
@@ -69,7 +69,7 @@ class PutlockerCom(SimpleHoster):
if link:
break
else:
- link = re.search(r"playlist: '(/get_file\.php\?stream=[A-Za-z0-9=]+)'", self.html)
+ link = re.search(r"playlist: '(/get_file\.php\?stream=[a-zA-Z0-9=]+)'", self.html)
if link:
self.html = self.load("http://www.%s%s" % (self.HOSTER_NAME, link.group(1)))
link = re.search(r'media:content url="(http://.*?)"', self.html)
diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py
index e4a64cfdc..4db551ee4 100644
--- a/module/plugins/hoster/TusfilesNet.py
+++ b/module/plugins/hoster/TusfilesNet.py
@@ -5,11 +5,11 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class TusfilesNet(XFileSharingPro):
__name__ = "TusfilesNet"
__type__ = "hoster"
- __pattern__ = r"http://(www\.)?tusfiles\.net/\w{12}"
- __version__ = "0.01"
+ __pattern__ = r"http://(?:www\.)?tusfiles\.net/(?P<ID>[a-zA-Z0-9]{12})"
+ __version__ = "0.02"
__description__ = """Tusfiles.net hoster plugin"""
- __author_name__ = ("stickell")
- __author_mail__ = ("l.stickell@yahoo.it")
+ __author_name__ = ("stickell", "Walter Purcaro")
+ __author_mail__ = ("l.stickell@yahoo.it", "vuolter@gmail.com")
FILE_INFO_PATTERN = r'<li>(?P<N>[^<]+)</li>\s+<li><b>Size:</b> <small>(?P<S>[\d.]+) (?P<U>\w+)</small></li>'
FILE_OFFLINE_PATTERN = r'The file you were looking for could not be found'