summaryrefslogtreecommitdiff
path: root/scripts/importer.py
diff options
context:
space:
mode:
authorRyan Farley <ryan.farley@gmx.com>2017-10-21 18:12:25 -0500
committerRyan Farley <ryan.farley@gmx.com>2017-10-21 18:12:25 -0500
commit31f1025ff858e1222d1335f668759173cc961b35 (patch)
tree619b721d688e08cf5c0194e6d33b0ef43b308eda /scripts/importer.py
parentaf8a5c58da8dcac6ee8d6c821302b6092a07aaca (diff)
downloadqutebrowser-31f1025ff858e1222d1335f668759173cc961b35.tar.gz
qutebrowser-31f1025ff858e1222d1335f668759173cc961b35.zip
escape search engine URLs in importer
Diffstat (limited to 'scripts/importer.py')
-rwxr-xr-xscripts/importer.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/importer.py b/scripts/importer.py
index d1d6fe9b5..b3ab90fc2 100755
--- a/scripts/importer.py
+++ b/scripts/importer.py
@@ -135,6 +135,14 @@ def get_args():
return args
+def search_escape(url):
+ """Escapes URLs such that preexisting { and } are handled properly.
+
+ Will obviously trash a properly-formatted Qutebrowser URL.
+ """
+ return url.replace('{', '{{').replace('}', '}}')
+
+
def import_netscape_bookmarks(bookmarks_file, bookmark_types, output_format):
"""Import bookmarks from a NETSCAPE-Bookmark-file v1.
@@ -180,7 +188,7 @@ def import_netscape_bookmarks(bookmarks_file, bookmark_types, output_format):
tags = soup.findAll(bookmark_query[typ])
for tag in tags:
if typ == 'search':
- tag['href'] = tag['href'].replace('%s', '{}')
+ tag['href'] = search_escape(tag['href']).replace('%s', '{}')
if tag['href'] not in bookmarks:
bookmarks.append(
output_template[output_format][typ].format(tag=tag))