Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--downloadmanager.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/downloadmanager.py b/downloadmanager.py
index 82afa0f..2337779 100644
--- a/downloadmanager.py
+++ b/downloadmanager.py
@@ -296,7 +296,12 @@ class Download:
if self._display_name:
return self._display_name
else:
- path = urlparse.urlparse(self._source.spec).path
+ uri = self._source
+ if uri == None:
+ return ''
+ cls = components.classes['@mozilla.org/intl/texttosuburi;1']
+ texttosuburi = cls.getService(interfaces.nsITextToSubURI)
+ path = texttosuburi.unEscapeURIForUI(uri.originCharset, uri.spec)
location, file_name = os.path.split(path)
file_name = urllib.unquote(file_name.encode('utf-8', 'replace'))
return file_name