Merge branch 'craftyguy-importer-fix-order'

This commit is contained in:
Florian Bruhin 2016-03-25 21:51:08 +01:00
commit a81345c91d
2 changed files with 15 additions and 7 deletions

View File

@ -182,6 +182,7 @@ Contributors, sorted by the number of commits in descending order:
* rikn00
* Michael Ilsaas
* Martin Zimmermann
* Clayton Craft
* Brian Jackson
* sbinix
* neeasade
@ -199,7 +200,6 @@ Contributors, sorted by the number of commits in descending order:
* Fritz V155 Reichwald
* Franz Fellner
* Corentin Jule
* Clayton Craft
* zwarag
* xd1le
* haxwithaxe

View File

@ -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)