diff options
Diffstat (limited to 'scripts/importer.py')
-rwxr-xr-x | scripts/importer.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/scripts/importer.py b/scripts/importer.py index a30fd5ba8..5e0883cd2 100755 --- a/scripts/importer.py +++ b/scripts/importer.py @@ -31,23 +31,27 @@ import argparse def main(): args = get_args() if args.browser in ['chromium', 'firefox', 'ie']: - import_netscape_bookmarks(args.bookmarks) + import_netscape_bookmarks(args.bookmarks, args.bookmark_format) def get_args(): """Get the argparse parser.""" parser = argparse.ArgumentParser( epilog="To import bookmarks from Chromium, Firefox or IE, " - "export them to HTML in your browsers bookmark manager.") - parser.add_argument('browser', help="Which browser?", + "export them to HTML in your browsers bookmark manager. " + "By default, this script will output in a quickmarks format.") + parser.add_argument('browser', help="Which browser? (chromium, firefox)", choices=['chromium', 'firefox', 'ie'], metavar='browser') - parser.add_argument('bookmarks', help="Bookmarks file") + parser.add_argument('-b', help="Output in bookmark format.", + dest='bookmark_format', action='store_true', + default=False, required=False) + parser.add_argument('bookmarks', help="Bookmarks file (html format)") args = parser.parse_args() return args -def import_netscape_bookmarks(bookmarks_file): +def import_netscape_bookmarks(bookmarks_file, is_bookmark_format): """Import bookmarks from a NETSCAPE-Bookmark-file v1. Generated by Chromium, Firefox, IE and possibly more browsers @@ -57,11 +61,15 @@ def import_netscape_bookmarks(bookmarks_file): soup = bs4.BeautifulSoup(f, 'html.parser') html_tags = soup.findAll('a') + if is_bookmark_format: + output_template = '{tag[href]} {tag.string}' + else: + output_template = '{tag.string} {tag[href]}' bookmarks = [] for tag in html_tags: if tag['href'] not in bookmarks: - bookmarks.append('{tag[href]} {tag.string}'.format(tag=tag)) + bookmarks.append(output_template.format(tag=tag)) for bookmark in bookmarks: print(bookmark) |