From 7c4548ece1827e0cd5fa9b8acc83c33eb6c01e26 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 6 Sep 2016 18:16:32 +0200 Subject: [PATCH] Split off _yank_url from :yank --- qutebrowser/browser/commands.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 8d6f5ef65..6a0232cfb 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -673,6 +673,20 @@ class CommandDispatcher: "Numeric argument is too large for internal int " "representation.") + def _yank_url(self, what): + """Helper method for yank() to get the URL to copy.""" + assert what in ['url', 'pretty-url'], what + flags = QUrl.RemovePassword + if what != 'pretty-url': + flags |= QUrl.FullyEncoded + url = QUrl(self._current_url()) + url_query = QUrlQuery(url) + for key in dict(url_query.queryItems()): + if key in config.get('general', 'yank-ignored-url-parameters'): + url_query.removeQueryItem(key) + url.setQuery(url_query) + return url.toString(flags) + @cmdutils.register(instance='command-dispatcher', scope='window') @cmdutils.argument('what', choices=['selection', 'url', 'pretty-url', 'title', 'domain']) @@ -699,16 +713,7 @@ class CommandDispatcher: self._current_url().host(), ':' + str(port) if port > -1 else '') elif what in ['url', 'pretty-url']: - flags = QUrl.RemovePassword - if what != 'pretty-url': - flags |= QUrl.FullyEncoded - url = QUrl(self._current_url()) - url_query = QUrlQuery(url) - for key in dict(url_query.queryItems()): - if key in config.get('general', 'yank-ignored-url-parameters'): - url_query.removeQueryItem(key) - url.setQuery(url_query) - s = url.toString(flags) + s = self._yank_url(what) what = 'URL' # For printing elif what == 'selection': caret = self._current_widget().caret