From 4e7e97232e1f5d3120b1a1532802062f166afe24 Mon Sep 17 00:00:00 2001 From: Joel Torstensson Date: Wed, 4 Mar 2015 12:24:26 +0100 Subject: [PATCH] Downloads using get_request specifying only path now works. --- qutebrowser/browser/downloads.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py index 8184f45f1..bd34b956c 100644 --- a/qutebrowser/browser/downloads.py +++ b/qutebrowser/browser/downloads.py @@ -658,16 +658,17 @@ class DownloadManager(QAbstractListModel): if fileobj is not None or filename is not None: return self.fetch_request(request, page, fileobj, filename, auto_remove) - suggested_filename = urlutils.filename_from_url(request.url()) + suggested_fn = urlutils.filename_from_url(request.url()) encoding = sys.getfilesystemencoding() - suggested_filename = utils.force_encoding(suggested_filename, encoding) + suggested_fn = utils.force_encoding(suggested_fn, encoding) q = self._prepare_question() - q.default = path_suggestion(suggested_filename) + q.default = path_suggestion(suggested_fn) message_bridge = objreg.get('message-bridge', scope='window', window=self._win_id) q.answered.connect( lambda fn: self.fetch_request(request, page, filename=fn, - auto_remove=auto_remove)) + auto_remove=auto_remove, + suggested_filename=suggested_fn)) message_bridge.ask(q, blocking=False) return None @@ -711,10 +712,11 @@ class DownloadManager(QAbstractListModel): """ if fileobj is not None and filename is not None: raise TypeError("Only one of fileobj/filename may be given!") - if filename is not None: - suggested_filename = os.path.basename(filename) - elif fileobj is not None and getattr(fileobj, 'name', None): - suggested_filename = fileobj.name + if not suggested_filename: + if filename is not None: + suggested_filename = os.path.basename(filename) + elif fileobj is not None and getattr(fileobj, 'name', None): + suggested_filename = fileobj.name log.downloads.debug("fetch: {} -> {}".format(reply.url(), suggested_filename)) download = DownloadItem(reply, self._win_id, self)