summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/plugins/hoster/CzshareCom.py6
-rw-r--r--module/plugins/hoster/FastshareCz.py6
-rw-r--r--module/plugins/hoster/FileserveCom.py8
-rw-r--r--module/plugins/hoster/MegasharesCom.py4
-rw-r--r--module/plugins/hoster/ShareonlineBiz.py6
-rw-r--r--module/plugins/hoster/UnibytesCom.py4
-rw-r--r--module/plugins/internal/Hoster.py6
-rw-r--r--module/plugins/internal/MultiHoster.py6
-rw-r--r--module/plugins/internal/Plugin.py4
-rw-r--r--module/plugins/internal/SimpleCrypter.py2
-rw-r--r--module/plugins/internal/SimpleHoster.py12
11 files changed, 34 insertions, 30 deletions
diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py
index d678f25fa..75fcf39d8 100644
--- a/module/plugins/hoster/CzshareCom.py
+++ b/module/plugins/hoster/CzshareCom.py
@@ -12,7 +12,7 @@ from module.utils import parseFileSize as parse_size
class CzshareCom(SimpleHoster):
__name__ = "CzshareCom"
__type__ = "hoster"
- __version__ = "1.04"
+ __version__ = "1.05"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download\.php\?).+'
@@ -73,7 +73,7 @@ class CzshareCom(SimpleHoster):
except Exception, e:
self.log_error(e)
- self.restart()
+ self.restart(premium=False)
#: Download the file, destination is determined by pyLoad
self.download("http://sdilej.cz/profi_down.php", post=inputs, disposition=True)
@@ -145,7 +145,7 @@ class CzshareCom(SimpleHoster):
self.fail(_("File not available - try later"))
elif check == "credit":
- self.restart()
+ self.restart(premium=False)
elif check == "multi-dl":
self.wait(5 * 60, 12, _("Download limit reached"))
diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py
index b05edfb27..7c3294632 100644
--- a/module/plugins/hoster/FastshareCz.py
+++ b/module/plugins/hoster/FastshareCz.py
@@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FastshareCz(SimpleHoster):
__name__ = "FastshareCz"
__type__ = "hoster"
- __version__ = "0.35"
+ __version__ = "0.36"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?fastshare\.cz/\d+/.+'
@@ -42,7 +42,7 @@ class FastshareCz(SimpleHoster):
if self.CREDIT_ERROR in self.html:
errmsg = self.info['error'] = _("Not enough traffic left")
self.log_warning(errmsg)
- self.restart()
+ self.restart(premium=False)
self.info.pop('error', None)
@@ -73,7 +73,7 @@ class FastshareCz(SimpleHoster):
self.retry_captcha()
elif check == "credit":
- self.restart()
+ self.restart(premium=False)
return super(FastshareCz, self).check_download()
diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py
index 277d4f2a8..fb1b7c631 100644
--- a/module/plugins/hoster/FileserveCom.py
+++ b/module/plugins/hoster/FileserveCom.py
@@ -34,7 +34,7 @@ def check_file(plugin, urls):
class FileserveCom(Hoster):
__name__ = "FileserveCom"
__type__ = "hoster"
- __version__ = "0.61"
+ __version__ = "0.62"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?fileserve\.com/file/(?P<ID>[^/]+)'
@@ -190,12 +190,16 @@ class FileserveCom(Hoster):
res = json_loads(res)
if res['error_code'] == "302":
premium_url = res['next']
+
elif res['error_code'] in ["305", "500"]:
self.temp_offline()
+
elif res['error_code'] in ["403", "605"]:
- self.restart()
+ self.restart(premium=False)
+
elif res['error_code'] in ["606", "607", "608"]:
self.offline()
+
else:
self.log_error(res['error_code'], res['error_message'])
diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py
index b183b882d..7d7d8adb5 100644
--- a/module/plugins/hoster/MegasharesCom.py
+++ b/module/plugins/hoster/MegasharesCom.py
@@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class MegasharesCom(SimpleHoster):
__name__ = "MegasharesCom"
__type__ = "hoster"
- __version__ = "0.32"
+ __version__ = "0.33"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index\.php)?\?d\d{2}=|dl/)\w+'
@@ -70,7 +70,7 @@ class MegasharesCom(SimpleHoster):
if 'Thank you for reactivating your passport' in res:
self.captcha.correct()
- self.restart(premium=True)
+ self.restart()
else:
self.retry_captcha(msg=_("Failed to reactivate passport"))
diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py
index 96fec2b48..3e98fc554 100644
--- a/module/plugins/hoster/ShareonlineBiz.py
+++ b/module/plugins/hoster/ShareonlineBiz.py
@@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class ShareonlineBiz(SimpleHoster):
__name__ = "ShareonlineBiz"
__type__ = "hoster"
- __version__ = "0.59"
+ __version__ = "0.60"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download\.php\?id=|dl/)(?P<ID>\w+)'
@@ -174,11 +174,11 @@ class ShareonlineBiz(SimpleHoster):
elif 'slot' in errmsg:
self.wait(3600, reconnect=True)
- self.restart(errmsg, premium=True)
+ self.restart(errmsg)
else:
self.wait(60, reconnect=True)
- self.restart(errmsg, premium=True)
+ self.restart(errmsg)
getInfo = create_getInfo(ShareonlineBiz)
diff --git a/module/plugins/hoster/UnibytesCom.py b/module/plugins/hoster/UnibytesCom.py
index 6af02438f..15b553162 100644
--- a/module/plugins/hoster/UnibytesCom.py
+++ b/module/plugins/hoster/UnibytesCom.py
@@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class UnibytesCom(SimpleHoster):
__name__ = "UnibytesCom"
__type__ = "hoster"
- __version__ = "0.15"
+ __version__ = "0.16"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?unibytes\.com/[\w .-]{11}B'
@@ -46,7 +46,7 @@ class UnibytesCom(SimpleHoster):
if '>Somebody else is already downloading using your IP-address<' in self.html:
self.wait(10 * 60, True)
- self.restart(premium=True)
+ self.restart()
if post_data['step'] == "last":
m = re.search(self.LINK_FREE_PATTERN, self.html)
diff --git a/module/plugins/internal/Hoster.py b/module/plugins/internal/Hoster.py
index 26da436a5..86b684414 100644
--- a/module/plugins/internal/Hoster.py
+++ b/module/plugins/internal/Hoster.py
@@ -13,7 +13,7 @@ from module.utils import fs_decode, fs_encode, save_join as fs_join, save_path a
class Hoster(Base):
__name__ = "Hoster"
__type__ = "hoster"
- __version__ = "0.34"
+ __version__ = "0.35"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
@@ -87,13 +87,13 @@ class Hoster(Base):
except Fail, e: #@TODO: Move to PluginThread in 0.4.10
if self.get_config('fallback_premium', True) and self.premium:
self.log_warning(_("Premium download failed"), e)
- self.restart()
+ self.restart(premium=False)
else:
raise Fail(e)
- def restart(self, msg="", premium=False):
+ def restart(self, msg="", premium=True):
if not msg:
msg = _("Simple restart") if premium else _("Fallback to free download")
diff --git a/module/plugins/internal/MultiHoster.py b/module/plugins/internal/MultiHoster.py
index d7d3c5ccd..f5c3d091d 100644
--- a/module/plugins/internal/MultiHoster.py
+++ b/module/plugins/internal/MultiHoster.py
@@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, r
class MultiHoster(SimpleHoster):
__name__ = "MultiHoster"
__type__ = "hoster"
- __version__ = "0.52"
+ __version__ = "0.53"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
@@ -102,7 +102,7 @@ class MultiHoster(SimpleHoster):
except Fail, e: #@TODO: Move to PluginThread in 0.4.10
if self.premium:
self.log_warning(_("Premium download failed"))
- self.restart()
+ self.restart(premium=False)
elif self.get_config("revertfailed", True) \
and "new_module" in self.pyload.pluginManager.hosterPlugins[self.__name__]:
@@ -118,7 +118,7 @@ class MultiHoster(SimpleHoster):
hdict['new_module'] = tmp_module
hdict['new_name'] = tmp_name
- self.restart(_("Revert to original hoster plugin"), premium=True)
+ self.restart(_("Revert to original hoster plugin"))
else:
raise Fail(encode(e)) #@TODO: Remove `encode` in 0.4.10
diff --git a/module/plugins/internal/Plugin.py b/module/plugins/internal/Plugin.py
index 6d94ca1e4..3b1f3575f 100644
--- a/module/plugins/internal/Plugin.py
+++ b/module/plugins/internal/Plugin.py
@@ -61,7 +61,7 @@ def fixurl(url, unquote=None):
unquote = newurl == url
newurl = html_unescape(newurl.decode('unicode-escape'))
- newurl = re.sub(r'[^:]/{2,}', '/', newurl).strip().lstrip('.')
+ newurl = re.sub(r'(?<!:)/{2,}', '/', newurl).strip().lstrip('.')
if not unquote:
newurl = urllib.quote(newurl)
@@ -228,7 +228,7 @@ def chunks(iterable, size):
class Plugin(object):
__name__ = "Plugin"
__type__ = "plugin"
- __version__ = "0.44"
+ __version__ = "0.45"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
diff --git a/module/plugins/internal/SimpleCrypter.py b/module/plugins/internal/SimpleCrypter.py
index a6feb8fbe..30b8ebfb0 100644
--- a/module/plugins/internal/SimpleCrypter.py
+++ b/module/plugins/internal/SimpleCrypter.py
@@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class SimpleCrypter(Crypter, SimpleHoster):
__name__ = "SimpleCrypter"
__type__ = "crypter"
- __version__ = "0.64"
+ __version__ = "0.65"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
diff --git a/module/plugins/internal/SimpleHoster.py b/module/plugins/internal/SimpleHoster.py
index e5526a7bd..fb621a278 100644
--- a/module/plugins/internal/SimpleHoster.py
+++ b/module/plugins/internal/SimpleHoster.py
@@ -16,7 +16,7 @@ from module.utils import fixup, fs_encode, parseFileSize as parse_size
class SimpleHoster(Hoster):
__name__ = "SimpleHoster"
__type__ = "hoster"
- __version__ = "1.93"
+ __version__ = "1.94"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
@@ -315,7 +315,7 @@ class SimpleHoster(Hoster):
self.log_warning(_("Check result: ") + errmsg, _("Waiting 1 minute and retry"))
self.wait(60, reconnect=True)
- self.restart(errmsg, premium=True)
+ self.restart(errmsg)
else:
if self.CHECK_FILE:
self.log_debug("Using custom check rules...")
@@ -354,7 +354,7 @@ class SimpleHoster(Hoster):
wait_time = parse_time(errmsg)
self.wait(wait_time, reconnect=wait_time > 300)
- self.restart(_("Download limit exceeded"), premium=True)
+ self.restart(_("Download limit exceeded"))
if self.HAPPY_HOUR_PATTERN and re.search(self.HAPPY_HOUR_PATTERN, self.html):
self.multiDL = True
@@ -374,7 +374,7 @@ class SimpleHoster(Hoster):
if re.search('limit|wait|slot', errmsg, re.I):
wait_time = parse_time(errmsg)
self.wait(wait_time, reconnect=wait_time > 300)
- self.restart(_("Download limit exceeded"), premium=True)
+ self.restart(_("Download limit exceeded"))
elif re.search('country|ip|region|nation', errmsg, re.I):
self.fail(_("Connection from your current IP address is not allowed"))
@@ -402,7 +402,7 @@ class SimpleHoster(Hoster):
else:
self.wait(60, reconnect=True)
- self.restart(errmsg, premium=True)
+ self.restart(errmsg)
elif self.WAIT_PATTERN:
m = re.search(self.WAIT_PATTERN, self.html)
@@ -516,7 +516,7 @@ class SimpleHoster(Hoster):
def handle_premium(self, pyfile):
if not self.LINK_PREMIUM_PATTERN:
self.log_error(_("Premium download not implemented"))
- self.restart()
+ self.restart(premium=False)
m = re.search(self.LINK_PREMIUM_PATTERN, self.html)
if m is None: