#! /usr/bin/env python
'''usage: pytaskplan [-t] [-p] [-g] -[s YYYY-MM-DD]

    -t: generate task list "task.html"
    -p: generate task plan "plan.html"
    -g: generate gantt chart "gantt.html"
    -s YYYY-MM-DD: anchor the start of the plan to YYYY-MM-DD
                   start date is assumed to be a Monday
    -q: be quiet (no output to stdout)
'''

import time, getopt, sys, re
from taskplan.plan import Planner

def usage():
    print __doc__

planner = Planner('tasks.csv', 'people.csv', 'done.csv')
planner.plan()

try:
    optlist, args = getopt.getopt(sys.argv[1:], 'qhpgts:')
except getopt.GetoptError, message:
    print message
    usage()
    sys.exit()

p=g=t=q=0
start = time.time()
for (opt, arg) in optlist:
    if opt == '-q':
        q=1
    elif opt == '-p':
        p=1
    elif opt == '-g':
        g=1
    elif opt == '-t':
        t=1
    elif opt == '-s':
        start = [int(d) for d in re.split(r'[^\d]', arg)] + [0,0,0,0,0,0]
        start = time.mktime(tuple(start))
    elif opt == '-h':
        usage()
        sys.exit()

if p:
    if not q: print 'Generating plan.html'
    planner.dumpPlan(start, open('plan.html', 'w'))
if g:
    if not q: print 'Generating gantt.html'
    planner.dumpGantt(start, open('gantt.html', 'w'))
if t:
    if not q: print 'Generating tasks.html'
    planner.dumpTasks(open('tasks.html', 'w'))

# vim: set filetype=python ts=4 sw=4 et si
