Merge branch 'importer-fix-order' of https://github.com/craftyguy/qutebrowser into craftyguy-importer-fix-order
This commit is contained in:
commit
8e1f8be5e8
@ -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.string} {tag[href]}'.format(tag=tag))
|
||||
bookmarks.append(output_template.format(tag=tag))
|
||||
|
||||
for bookmark in bookmarks:
|
||||
print(bookmark)
|
||||
|
Loading…
Reference in New Issue
Block a user