#! /usr/bin/env python
# coding: utf-8
"""
 :copyright: (c) 2012 Philipp Benjamin Köppchen
 :license: GPLv3, see LICENSE for more details.
"""
from optparse import OptionParser
from graygoo import Template


option_parser = OptionParser(usage='%prog [TEMPLATENAME] [key=value] ...')


if __name__ == '__main__':
    options, args = option_parser.parse_args()

    if not args:
        option_parser.error('please provide a template name')

    templatename = args[0]

    vars = [pair.split('=', 1) for pair in args[1:]]

    if any(len(pair) != 2 for pair in vars):
        option_parser.error('please provide all template arguments in the form key=value')

    vars = dict(vars)

    try:
        template = Template(os.path.join('templates', templatename))
        template.render('', vars)
    except UsageError, exc:
        option_parser.error(unicode(exc))

