#!/usr/bin/env python
# vim:fileencoding=utf-8:noet
import argparse
import sys

from nebooman import Manager

commands_list = ['clean']

parser = argparse.ArgumentParser(description='Run Netscape Bookmark Manager')
parser.add_argument('command', type=str, help='command to execute', choices=commands_list)
parser.add_argument('input_file', type=str, help='source bookmarks filename')
parser.add_argument('-o', '--output-file', type=str, help='destination bookmarks filename', default=None)
parser.add_argument('-v', dest='verbose', help='verbose output', action='store_true')

args = parser.parse_args()

if args.verbose and args.output_file is None:
    print('Destination filename not specified, output will be print in stdout. '
          'You must not use verbose output (-v flag).', file=sys.stderr)
    sys.exit(1)

if args.command == 'clean':
    manager = Manager(verbose=args.verbose)
    manager.read_bookmarks_file(open(args.input_file))
    manager.cleanup()
    manager.write_bookmarks_file(open(args.output_file, mode='w') if args.output_file is not None else sys.stdout)
