summaryrefslogtreecommitdiffstats
path: root/pyload/plugin/hoster
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-05-09 23:35:25 +0200
committerGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-05-09 23:35:25 +0200
commitb673872a9360a8f4a58dc1afd19fe0129d82f848 (patch)
tree9e6fe563f36666c4f15b09f45813730333e2242b /pyload/plugin/hoster
parentFix https://github.com/pyload/pyload/issues/1406 (diff)
parent[ClickAndLoad] Version up (diff)
downloadpyload-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.py10
-rw-r--r--pyload/plugin/hoster/FilefactoryCom.py4
-rw-r--r--pyload/plugin/hoster/HostujeNet.py14
-rw-r--r--pyload/plugin/hoster/OpenloadIo.py27
-rw-r--r--pyload/plugin/hoster/SizedriveCom.py14
-rw-r--r--pyload/plugin/hoster/UnrestrictLi.py72
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']