summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/Ftp.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/Ftp.py')
-rw-r--r--module/plugins/hoster/Ftp.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py
index 22fc5f67a..cfe230f42 100644
--- a/module/plugins/hoster/Ftp.py
+++ b/module/plugins/hoster/Ftp.py
@@ -12,7 +12,7 @@ from module.plugins.Hoster import Hoster
class Ftp(Hoster):
__name__ = "Ftp"
__type__ = "hoster"
- __version__ = "0.46"
+ __version__ = "0.49"
__pattern__ = r'(?:ftps?|sftp)://([\w.-]+(:[\w.-]+)?@)?[\w.-]+(:\d+)?/.+'
@@ -28,6 +28,16 @@ class Ftp(Hoster):
self.resumeDownload = True
+ #: Work-around to `filename*=UTF-8` bug; remove in 0.4.10
+ def download(self, url, get={}, post={}, ref=True, cookies=True, disposition=False):
+ try:
+ if disposition:
+ content = urllib2.urlopen(url).info()['Content-Disposition'].split(';')
+ self.pyfile.name = content[1].split('filename=')[1][1:-1] or self.pyfile.name
+ finally:
+ return super(Ftp, self).download(url, get, post, ref, cookies, False)
+
+
def process(self, pyfile):
parsed_url = urlparse(pyfile.url)
netloc = parsed_url.netloc