diff options
Diffstat (limited to 'pyload/plugins/hoster/Ftp.py')
-rw-r--r-- | pyload/plugins/hoster/Ftp.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/pyload/plugins/hoster/Ftp.py b/pyload/plugins/hoster/Ftp.py index f092bd0a4..a846d2b5f 100644 --- a/pyload/plugins/hoster/Ftp.py +++ b/pyload/plugins/hoster/Ftp.py @@ -10,22 +10,24 @@ from pyload.plugins.base.Hoster import Hoster class Ftp(Hoster): - __name__ = "Ftp" - __type__ = "hoster" - __version__ = "0.42" + __name__ = "Ftp" + __type__ = "hoster" + __version__ = "0.43" - __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' #: ftp://user:password@ftp.server.org/path/to/file + __pattern__ = r'(?:ftps?|sftp)://([\w.-]+(:[\w.-]+)?@)?[\w.-]+(:\d+)?/.+' __description__ = """Download from ftp directory""" - __authors__ = [("jeix", "jeix@hasnomail.com"), - ("mkaay", "mkaay@mkaay.de"), - ("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("jeix", "jeix@hasnomail.com"), + ("mkaay", "mkaay@mkaay.de"), + ("zoidberg", "zoidberg@mujmail.cz")] def setup(self): self.chunkLimit = -1 self.resumeDownload = True + def process(self, pyfile): parsed_url = urlparse(pyfile.url) netloc = parsed_url.netloc @@ -43,7 +45,7 @@ class Ftp(Hoster): self.logDebug("Logging on to %s" % netloc) self.req.addAuth(self.account.accounts[netloc]['password']) else: - for pwd in pyfile.package().password.splitlines(): + for pwd in self.getPassword().splitlines(): if ":" in pwd: self.req.addAuth(pwd.strip()) break @@ -51,14 +53,14 @@ class Ftp(Hoster): self.req.http.c.setopt(pycurl.NOBODY, 1) try: - response = self.load(pyfile.url) + res = self.load(pyfile.url) except pycurl.error, e: - self.fail("Error %d: %s" % e.args) + self.fail(_("Error %d: %s") % e.args) self.req.http.c.setopt(pycurl.NOBODY, 0) self.logDebug(self.req.http.header) - m = re.search(r"Content-Length:\s*(\d+)", response) + m = re.search(r"Content-Length:\s*(\d+)", res) if m: pyfile.size = int(m.group(1)) self.download(pyfile.url) @@ -69,9 +71,9 @@ class Ftp(Hoster): pkgname = "/".join(pyfile.package().name, urlparse(pyfile.url).path.rpartition('/')[2]) pyfile.url += '/' self.req.http.c.setopt(48, 1) # CURLOPT_DIRLISTONLY - response = self.load(pyfile.url, decode=False) - links = [pyfile.url + quote(x) for x in response.splitlines()] + res = self.load(pyfile.url, decode=False) + links = [pyfile.url + quote(x) for x in res.splitlines()] self.logDebug("LINKS", links) self.core.api.addPackage(pkgname, links) else: - self.fail("Unexpected server response") + self.fail(_("Unexpected server response")) |