#!/usr/bin/env python
import argparse

from pelican.generators import ArticlesGenerator, PagesGenerator

parser = argparse.ArgumentParser(description="""A tool to generate a
static blog, with restructured text input files.""")

parser.add_argument(dest='path',
    help='Path where to find the content files (default is "content").')
parser.add_argument('-t', '--theme-path', dest='theme',
    help='Path where to find the theme templates. If not specified, it will'
         'use the default one included with pelican.')
parser.add_argument('-o', '--output', dest='output',
    help='Where to output the generated files. If not specified, a directory'
         ' will be created, named "output" in the current path.')
parser.add_argument('-m', '--markup', default='rst, md', dest='markup',
    help='the markup language to use. Currently only ReSTreucturedtext is'
          ' available.')
parser.add_argument('-s', '--settings', dest='settings',
    help='the settings of the application. Default to None.')


if __name__ == '__main__':
    args = parser.parse_args()

    articles = ArticlesGenerator(args.settings)
    pages = PagesGenerator(args.settings)
    context = {}
    
    for gen in articles, pages:
        markup = [a.split()[0] for a in args.markup.split(',')]
        context.update(gen.create_context(args.path, args.theme, args.output,
                       markup))

    for gen in articles, pages:
        gen.generate(context)
    print "Enjoy !"
