summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r--module/plugins/hoster/FilejokerNet.py3
-rw-r--r--module/plugins/hoster/Ftp.py24
-rw-r--r--module/plugins/hoster/OneFichierCom.py6
-rw-r--r--module/plugins/hoster/ShareonlineBiz.py2
-rw-r--r--module/plugins/hoster/TurbobitNet.py4
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+)'