diff options
author | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-05-09 23:35:25 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-05-09 23:35:25 +0200 |
commit | b673872a9360a8f4a58dc1afd19fe0129d82f848 (patch) | |
tree | 9e6fe563f36666c4f15b09f45813730333e2242b /pyload/plugin/hoster | |
parent | Fix https://github.com/pyload/pyload/issues/1406 (diff) | |
parent | [ClickAndLoad] Version up (diff) | |
download | pyload-b673872a9360a8f4a58dc1afd19fe0129d82f848.tar.xz |
Merge branch 'stable' into 0.4.10
Conflicts:
module/plugins/hoster/BillionuploadsCom.py
pyload/plugin/account/ShareonlineBiz.py
pyload/plugin/account/UnrestrictLi.py
pyload/plugin/addon/ClickNLoad.py
pyload/plugin/hook/LinkdecrypterCom.py
pyload/plugin/hook/UnrestrictLi.py
pyload/plugin/hoster/FilefactoryCom.py
pyload/plugin/hoster/UnrestrictLi.py
pyload/plugin/internal/MultiHook.py
pyload/plugin/internal/XFSCrypter.py
Diffstat (limited to 'pyload/plugin/hoster')
-rw-r--r-- | pyload/plugin/hoster/BillionuploadsCom.py | 10 | ||||
-rw-r--r-- | pyload/plugin/hoster/FilefactoryCom.py | 4 | ||||
-rw-r--r-- | pyload/plugin/hoster/HostujeNet.py | 14 | ||||
-rw-r--r-- | pyload/plugin/hoster/OpenloadIo.py | 27 | ||||
-rw-r--r-- | pyload/plugin/hoster/SizedriveCom.py | 14 | ||||
-rw-r--r-- | pyload/plugin/hoster/UnrestrictLi.py | 72 |
6 files changed, 49 insertions, 92 deletions
diff --git a/pyload/plugin/hoster/BillionuploadsCom.py b/pyload/plugin/hoster/BillionuploadsCom.py index e34584868..bed3a1d54 100644 --- a/pyload/plugin/hoster/BillionuploadsCom.py +++ b/pyload/plugin/hoster/BillionuploadsCom.py @@ -1,19 +1,15 @@ # -*- coding: utf-8 -*- -from pyload.plugin.internal.XFSHoster import XFSHoster +from pyload.plugin.internal.DeadHoster import DeadHoster -class BillionuploadsCom(XFSHoster): +class BillionuploadsCom(DeadHoster): __name = "BillionuploadsCom" __type = "hoster" - __version = "0.04" + __version = "0.06" __pattern = r'http://(?:www\.)?billionuploads\.com/\w{12}' __description = """Billionuploads.com hoster plugin""" __license = "GPLv3" __authors = [("zoidberg", "zoidberg@mujmail.cz")] - - - NAME_PATTERN = r'<td class="dofir" title="(?P<N>.+?)"' - SIZE_PATTERN = r'<td class="dofir">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' diff --git a/pyload/plugin/hoster/FilefactoryCom.py b/pyload/plugin/hoster/FilefactoryCom.py index 5c42961ce..6c4e0b807 100644 --- a/pyload/plugin/hoster/FilefactoryCom.py +++ b/pyload/plugin/hoster/FilefactoryCom.py @@ -20,7 +20,7 @@ def getInfo(urls): class FilefactoryCom(SimpleHoster): __name = "FilefactoryCom" __type = "hoster" - __version = "0.54" + __version = "0.55" __pattern = r'https?://(?:www\.)?filefactory\.com/(file|trafficshare/\w+)/\w+' __config = [("use_premium", "bool", "Use premium account if available", True)] @@ -32,7 +32,7 @@ class FilefactoryCom(SimpleHoster): INFO_PATTERN = r'<div id="file_name"[^>]*>\s*<h2>(?P<N>[^<]+)</h2>\s*<div id="file_info">\s*(?P<S>[\d.,]+) (?P<U>[\w^_]+) uploaded' - OFFLINE_PATTERN = r'<h2>File Removed</h2>|This file is no longer available' + OFFLINE_PATTERN = r'<h2>File Removed</h2>|This file is no longer available|Invalid Download Link' LINK_FREE_PATTERN = LINK_PREMIUM_PATTERN = r'"([^"]+filefactory\.com/get.+?)"' diff --git a/pyload/plugin/hoster/HostujeNet.py b/pyload/plugin/hoster/HostujeNet.py index 0d292958e..ffe9243ef 100644 --- a/pyload/plugin/hoster/HostujeNet.py +++ b/pyload/plugin/hoster/HostujeNet.py @@ -6,15 +6,15 @@ from pyload.plugin.internal.SimpleHoster import SimpleHoster class HostujeNet(SimpleHoster): - __name__ = "HostujeNet" - __type__ = "hoster" - __version__ = "0.01" + __name = "HostujeNet" + __type = "hoster" + __version = "0.01" - __pattern__ = r'http://(?:www\.)?hostuje\.net/\w+' + __pattern = r'http://(?:www\.)?hostuje\.net/\w+' - __description__ = """Hostuje.net hoster plugin""" - __license__ = "GPLv3" - __authors__ = [("GammaC0de", None)] + __description = """Hostuje.net hoster plugin""" + __license = "GPLv3" + __authors = [("GammaC0de", None)] NAME_PATTERN = r'<input type="hidden" name="name" value="(?P<N>.+?)">' diff --git a/pyload/plugin/hoster/OpenloadIo.py b/pyload/plugin/hoster/OpenloadIo.py new file mode 100644 index 000000000..a13015473 --- /dev/null +++ b/pyload/plugin/hoster/OpenloadIo.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- + +from pyload.plugin.internal.SimpleHoster import SimpleHoster + + +class OpenloadIo(SimpleHoster): + __name = "OpenloadIo" + __type = "hoster" + __version = "0.01" + + __pattern = r'https?://(?:www\.)?openload\.io/f/\w{11}' + + __description = """Openload.io hoster plugin""" + __license = "GPLv3" + __authors = [(None, None)] + + + NAME_PATTERN = r'<span id="filename">(?P<N>.+)</' + SIZE_PATTERN = r'<span class="count">(?P<S>[\d.,]+) (?P<U>[\w^_]+)<' + OFFLINE_PATTERN = r">(We can't find the file you are looking for)" + + LINK_FREE_PATTERN = r'id="realdownload"><a href="(https?://[\w\.]+\.openload\.io/dl/.*?)"' + + + def setup(self): + self.multiDL = True + self.chunkLimit = 1 diff --git a/pyload/plugin/hoster/SizedriveCom.py b/pyload/plugin/hoster/SizedriveCom.py index d4e705ae0..ece548921 100644 --- a/pyload/plugin/hoster/SizedriveCom.py +++ b/pyload/plugin/hoster/SizedriveCom.py @@ -6,15 +6,15 @@ from pyload.plugin.internal.SimpleHoster import SimpleHoster class SizedriveCom(SimpleHoster): - __name__ = "SizedriveCom" - __type__ = "hoster" - __version__ = "0.01" + __name = "SizedriveCom" + __type = "hoster" + __version = "0.01" - __pattern__ = r'http://(?:www\.)?sizedrive\.com/[rd]/(?P<ID>\w+)' + __pattern = r'http://(?:www\.)?sizedrive\.com/[rd]/(?P<ID>\w+)' - __description__ = """Sizedrive.com hoster plugin""" - __license__ = "GPLv3" - __authors__ = [("GammaC0de", None)] + __description = """Sizedrive.com hoster plugin""" + __license = "GPLv3" + __authors = [("GammaC0de", None)] NAME_PATTERN = r'>Nome:</b> (?P<N>.+?)<' diff --git a/pyload/plugin/hoster/UnrestrictLi.py b/pyload/plugin/hoster/UnrestrictLi.py index 74dcadb5b..3735de6df 100644 --- a/pyload/plugin/hoster/UnrestrictLi.py +++ b/pyload/plugin/hoster/UnrestrictLi.py @@ -1,81 +1,15 @@ # -*- coding: utf-8 -*- -from pyload.utils import json_loads -from pyload.plugin.internal.MultiHoster import MultiHoster -from pyload.plugin.internal.SimpleHoster import secondsToMidnight +from pyload.plugin.internal.DeadHoster import DeadHoster -class UnrestrictLi(MultiHoster): +class UnrestrictLi(DeadHoster): __name = "UnrestrictLi" __type = "hoster" - __version = "0.22" + __version = "0.23" __pattern = r'https?://(?:www\.)?(unrestrict|unr)\.li/dl/[\w^_]+' - __config = [("use_premium", "bool", "Use premium account if available", True)] __description = """Unrestrict.li multi-hoster plugin""" __license = "GPLv3" __authors = [("stickell", "l.stickell@yahoo.it")] - - - LOGIN_ACCOUNT = False - - - def setup(self): - self.chunkLimit = 16 - self.resumeDownload = True - - - def handle_free(self, pyfile): - for _i in xrange(5): - self.html = self.load('https://unrestrict.li/unrestrict.php', - post={'link': pyfile.url, 'domain': 'long'}) - - self.logDebug("JSON data: " + self.html) - - if self.html: - break - else: - self.logInfo(_("Unable to get API data, waiting 1 minute and retry")) - self.retry(5, 60, "Unable to get API data") - - if 'Expired session' in self.html \ - or ("You are not allowed to download from this host" in self.html and self.premium): - self.account.relogin(self.user) - self.retry() - - elif "File offline" in self.html: - self.offline() - - elif "You are not allowed to download from this host" in self.html: - self.fail(_("You are not allowed to download from this host")) - - elif "You have reached your daily limit for this host" in self.html: - self.logWarning(_("Reached daily limit for this host")) - self.retry(5, secondsToMidnight(gmt=2), "Daily limit for this host reached") - - elif "ERROR_HOSTER_TEMPORARILY_UNAVAILABLE" in self.html: - self.logInfo(_("Hoster temporarily unavailable, waiting 1 minute and retry")) - self.retry(5, 60, "Hoster is temporarily unavailable") - - self.html = json_loads(self.html) - self.link = self.html.keys()[0] - self.api_data = self.html[self.link] - - if hasattr(self, 'api_data'): - self.setNameSize() - - - def checkFile(self, rules={}): - super(UnrestrictLi, self).checkFile(rules) - - if self.getConfig('history'): - self.load("https://unrestrict.li/history/", get={'delete': "all"}) - self.logInfo(_("Download history deleted")) - - - def setNameSize(self): - if 'name' in self.api_data: - self.pyfile.name = self.api_data['name'] - if 'size' in self.api_data: - self.pyfile.size = self.api_data['size'] |