diff options
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r-- | module/plugins/hoster/FilejokerNet.py | 3 | ||||
-rw-r--r-- | module/plugins/hoster/Ftp.py | 24 | ||||
-rw-r--r-- | module/plugins/hoster/OneFichierCom.py | 6 | ||||
-rw-r--r-- | module/plugins/hoster/ShareonlineBiz.py | 2 | ||||
-rw-r--r-- | module/plugins/hoster/TurbobitNet.py | 4 |
5 files changed, 21 insertions, 18 deletions
diff --git a/module/plugins/hoster/FilejokerNet.py b/module/plugins/hoster/FilejokerNet.py index 2d851c59f..e58ecfabf 100644 --- a/module/plugins/hoster/FilejokerNet.py +++ b/module/plugins/hoster/FilejokerNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster class FilejokerNet(XFSHoster): __name__ = "FilejokerNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?filejoker\.net/\w{12}' @@ -27,6 +27,7 @@ class FilejokerNet(XFSHoster): WAIT_PATTERN = r'Please [Ww]ait (?:<span id="count" class="alert-success">)?([\w ]+?)(?:</span> seconds</p>| until the next download)' RECAPTCHA_PATTERN = r'<div id="recaptcha_image" class="pic"></div>' + ERROR_PATTERN = r'Wrong Captcha' INFO_PATTERN = r'<div class="name-size">(?P<N>.+?) <small>\((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</small></div>' SIZE_REPLACEMENTS = [('Kb','KB'), ('Mb','MB'), ('Gb','GB')] diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index babf6c2c5..6c65e1791 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -1,10 +1,9 @@ # -*- coding: utf-8 -*- +import pycurl import re import urlparse -import pycurl - from module.plugins.internal.Hoster import Hoster from module.plugins.internal.misc import parse_name @@ -12,7 +11,7 @@ from module.plugins.internal.misc import parse_name class Ftp(Hoster): __name__ = "Ftp" __type__ = "hoster" - __version__ = "0.59" + __version__ = "0.60" __status__ = "testing" __pattern__ = r'(?:ftps?|sftp)://([\w\-.]+(:[\w\-.]+)?@)?[\w\-.]+(:\d+)?/.+' @@ -37,8 +36,6 @@ class Ftp(Hoster): pyfile.name = parse_name(p_url.path.rpartition('/')[2]) if not "@" in netloc: - self.log_debug("Auth required") - #@TODO: Recheck in 0.4.10 if self.account: servers = [x['login'] for x in self.account.getAllAccounts()] @@ -52,24 +49,25 @@ class Ftp(Hoster): else: pwd = self.get_password() if ':' in pwd: + self.log_debug("Logging on to %s" % netloc) self.req.addAuth(pwd) else: - self.fail(_("Authorization required")) - - self.req.http.c.setopt(pycurl.NOBODY, 1) + self.log_debug(_("Using anonymous logon")) try: - res = self.load(pyfile.url) + headers = self.load(pyfile.url, just_header=True) except pycurl.error, e: - self.fail(_("Error %d: %s") % e.args) + if "530" in e.args[1]: + self.fail(_("Authorization required")) + else: + self.fail(_("Error %d: %s") % e.args) self.req.http.c.setopt(pycurl.NOBODY, 0) self.log_debug(self.req.http.header) - m = re.search(r'Content-Length:\s*(\d+)', res) - if m is not None: - pyfile.size = int(m.group(1)) + if "content-length" in headers: + pyfile.size = headers.get("content-length") self.download(pyfile.url) else: diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index b7dc3a40a..51caaa657 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -4,12 +4,13 @@ import re from module.network.RequestFactory import getURL as get_url from module.plugins.internal.SimpleHoster import SimpleHoster +from module.plugins.internal.misc import format_exc class OneFichierCom(SimpleHoster): __name__ = "OneFichierCom" __type__ = "hoster" - __version__ = "0.99" + __version__ = "1.00" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?(?:\w+\.)?(?P<HOST>1fichier\.com|alterupload\.com|cjoint\.net|d(?:es)?fichiers\.com|dl4free\.com|megadl\.fr|mesfichiers\.org|piecejointe\.net|pjointe\.com|tenvoi\.com)(?:/\?\w+)?' @@ -57,6 +58,7 @@ class OneFichierCom(SimpleHoster): headers = dict((k.lower(), v) for k,v in re.findall(r'(?P<name>.+?): (?P<value>.+?)\r?\n', get_url(redirect, just_header=True))) if 'location' in headers and headers['location']: redirect = headers['location'] + else: if 'content-type' in headers and headers['content-type'] == "application/octet-stream": if "filename=" in headers.get('content-disposition'): @@ -75,8 +77,10 @@ class OneFichierCom(SimpleHoster): break except Exception, e: + print format_exc() info = {'status' : 8, 'error' : e.message} + break else: info = {'status' : 8, diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index 270759d2d..e99891bbb 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -172,7 +172,7 @@ class ShareonlineBiz(SimpleHoster): self.retry(wait=600, msg=errmsg) elif errmsg == "full": - self.retry(10, 600, _("Server is full")) + self.fail(_("Server is full")) elif 'slot' in errmsg: self.wait(3600, reconnect=True) diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index 081b5579b..4df311642 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -6,7 +6,7 @@ import re import time import urllib -import Crypto.Cipher +import Crypto.Cipher.ARC4 import pycurl from module.plugins.captcha.ReCaptcha import ReCaptcha @@ -17,7 +17,7 @@ from module.plugins.internal.misc import timestamp class TurbobitNet(SimpleHoster): __name__ = "TurbobitNet" __type__ = "hoster" - __version__ = "0.27" + __version__ = "0.28" __status__ = "broken" __pattern__ = r'http://(?:www\.)?turbobit\.net/(?:download/free/)?(?P<ID>\w+)' |