#!/usr/bin/env python

""" 


"""

__author__ = 'Elena of Valhalla'
__version__ = '20110119'
__copyright__ = '2009-2011 Elena Grandi'
__license__ = 'LGPL'

import optparse, os, logging, hashlib
import dumb

def print_bookmarks(bms):
    for bm in bms:
        bm_id = hashlib.md5(bm['url']).hexdigest()[:3]+":"
        url = '<'+bm['url']+'>'
        try:
            title = bm['title']
        except KeyError:
            title = ""
        print bm_id, title, url

def get_bookmarks(directory,keywords):
    collection = dumb.Collection(directory)
    collection.load()
    return collection.get_bookmarks(keywords)

def main():
    logging.getLogger('dumb').addHandler(logging.StreamHandler())
    parser = optparse.OptionParser()
    parser.add_option('--keywords','-k')
    parser.add_option('--verbose','-v',action="store_true")
    opt, args = parser.parse_args()
    tags = None
    directory = os.path.curdir
    if len(args) == 1 :
        directory = args[0]
    elif len(args) == 0:
        directory = "."
    else:
        exit("Usage: dumb-list [-k keywords] [directory]]")
    if opt.keywords != None:
        keywords = opt.keywords.split()
    else:
        keywords = None
    if opt.verbose != None:
        logging.getLogger('dumb').setLevel(logging.INFO)

    print_bookmarks(get_bookmarks(directory,keywords))

if __name__ == '__main__': main()
