#!/usr/bin/python

import sys, getopt, os, shutil
import ConfigParser
import os.path, re
import tempfile
from pypakr import command_create_container, command_create_image, \
  command_init, command_run, usage, \
  init, create_image, create_container, run

pypakrdir = ''

def main(argv):
  global pypakrdir
  if len(argv) == 1:
    usage()
  command = argv[1]
  if command == 'help':
    usage()
  # Parse command line.
  try:
    opts, args = getopt.getopt(sys.argv[2:], 'hs:i:c:r:', ['help',
      'src', 'image', 'container', 'script'])
  except Exception as err:
    print str(err)
    usage()
  opt_s = None
  opt_i = None
  opt_c = None
  opt_r = None
  for o, a in opts:
    if o in ['-s', '--src']:
      opt_s = a
    elif o in ['-i', '--image']:
      opt_i = a
    elif o in ['-c', '--container']:
      opt_c = a
    elif o in ['-r', '--script']:
      opt_r = a
    elif o in ['-h', '--help']:
      usage()
    else:
      assert False, 'Unrecognized option: %s' % o
  if command == 'create-image':
    command_create_image(src=opt_s, dst=opt_i)
  elif command == 'create-container':
    command_create_container(image=opt_i, container=opt_c)
  elif command == 'init':
    command_init()
  elif command == 'run':
    command_run(container=opt_c, script=opt_r)
  else:
    assert Exception, 'Unrecognized command: %s' % command

if __name__ == '__main__':
  main(sys.argv)
