#!/usr/bin/python

import argparse
import os
import yak

def init(args):
    yak.init(args.blog_dir)

def bake(args):
    yak.bake(args.blog_dir)

def manage(args):
    yak.manage(args.blog_dir, args.p)

def watch(args):
    yak.watch(args.blog_dir)

parser = argparse.ArgumentParser(description="Yak makes baking and managing static blogs easy.")

subparsers = parser.add_subparsers(help='sub-command help')

parser_init = subparsers.add_parser('init', help="Initialize a basic Yak blog directory structucture.")
parser_init.add_argument('blog_dir', nargs='?', default='.')
parser_init.set_defaults(func=init)

parser_bake = subparsers.add_parser('bake', help="Bake the Yak blog.")
parser_bake.add_argument('blog_dir', nargs='?', default='.')
parser_bake.set_defaults(func=bake)

parser_serve = subparsers.add_parser('manage', help="Start the Yak blog management server.")
parser_serve.add_argument('blog_dir', nargs='?', default='.')
parser_serve.add_argument('-p', default=5000, type=int)
parser_serve.set_defaults(func=manage)

parser_watch = subparsers.add_parser('watch', help="Watch for changes in the blog's posts directory.")
parser_watch.add_argument('blog_dir', nargs='?', default='.')
parser_watch.set_defaults(func=watch)

args = parser.parse_args()
args.func(args)
