[kupfer] plugin.urlactions: Adjust how we get name from response Header
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer] plugin.urlactions: Adjust how we get name from response Header
- Date: Sat, 3 Oct 2009 23:08:26 +0000 (UTC)
commit 567b40abdb4ab2e46c511b9d8d5182946940a795
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Sat Oct 3 16:31:22 2009 +0200
plugin.urlactions: Adjust how we get name from response Header
We need to parse the Content-Disposition header if it contains
something like 'attachment; filename=archive.zip'.
kupfer/plugin/urlactions.py | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/kupfer/plugin/urlactions.py b/kupfer/plugin/urlactions.py
index 58564d3..5cedccc 100644
--- a/kupfer/plugin/urlactions.py
+++ b/kupfer/plugin/urlactions.py
@@ -20,10 +20,18 @@ class DownloadTask (task.StepTask):
super(DownloadTask, self).__init__()
self.response = urllib2.urlopen(uri)
- def make_url_name(url):
+ def url_name(url):
return os.path.basename(url.rstrip("/"))
- header_basename = self.response.headers.get('Content-Disposition')
- destname = header_basename or make_url_name(self.response.url)
+ def header_name(headers):
+ content_disp = headers.get("Content-Disposition", "")
+ for part in content_disp.split(";"):
+ if part.strip().lower().startswith("filename="):
+ return part.split("=", 1)[-1]
+ return content_disp
+
+ destname = (header_name(self.response.headers) or
+ url_name(self.response.url))
+
if tempfile:
(self.destfile, self.destpath) = utils.get_safe_tempfile()
else:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]