"""
    MoinMoin - ISBN Macro (link to Amazon, B&N, etc)

    Usage: [[ISBN(isbn[,...])]]

    @copyright: 2006 by Clif Kussmaul <clif@kussmaul.org>
    @license:   GNU GPL, see COPYING for details
"""

# dictionary of keys and urls that use ISBN
_isbn_links = { 'Amazon':'http://www.amazon.com/dp/%s' ,
                   'B&N':'http://search.barnesandnoble.com/booksearch/isbninquiry.asp?ISBN=%s'}

def execute(macro, args):
    f = macro.formatter
    result = ''
    if args:
        args = [arg.strip() for arg in args.split(',')] 
    else:
        args = []
    if 0 == len(args):
        result += f.strong(1) + \
                  f.text('Example: [[ISBN(1234567890, ...)]]') + \
                  f.strong(0) + \
                  f.text(' - links to Amazon, B&N, etc')
    else:
        for arg in args:
            for key in _isbn_links.keys():
                result += f.text('(') + \
                          f.url(1, _isbn_links[key] % arg) + \
                          f.text(key) + \
                          f.url(0)    + \
                          f.text(')')

    return result

