Added option to output in "bookmark" format, clarified some "help" msgs
This commit is contained in:
parent
81ce9b818f
commit
8addc19d47
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user