#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from getopt import GetoptError

from pake.runner import Pake, parse_argv

USAGE = """
pake task [args] [kwargs]

  task - path to function
  args - function position parameters
  kwargs - function named parameters
    --key value
"""

def usage():
    print(USAGE)
    Pake.search_tasks()
    overview = Pake.overview()
    if overview:
        print(overview)

if len(sys.argv) == 1:
    sys.argv = sys.argv + ["--help"]

try:
    flags, task, args, kwargs = parse_argv(sys.argv)
except GetoptError as err:
    usage()
    print(unicode(err))
    sys.exit(2)

if flags["help"]:
    usage()
    sys.exit()

Pake.search_tasks()
Pake.run(task, *args, **kwargs)
print("OK")
