#!/Users/stuart/.virtualenvs/courtfinder/bin/python

import sys
import os.path
from optparse import OptionParser
from awsbuilder.libs.ec2 import EC2


def create_server(options):
    if options.account is not None and options.project is not None \
            and options.env is not None and options.config is not None \
            and options.data is not None:

        if os.path.isfile(options.config) and os.path.isfile(options.data):
            instance = EC2(options.account, options.config)
            instance.set_instance_data(options.data, options.project, options.env)
            instance.create_instance(options.server)

    else:
        print "[ERROR] Missing command arguments"
        sys.exit(1)


def main():
    parser = OptionParser()
    parser.add_option('-m', '--mode', dest='mode', default=None,
                      help='Mode, server options: [create, delete]')
    parser.add_option('-c', '--config', dest='config', default=None,
                      help='Account config path (AWS)')
    parser.add_option('-d', '--data', dest='data', default=None,
                      help='Server instance data path')
    parser.add_option('-s', '--server', dest='server', default=None,
                      help='Create a new server')
    parser.add_option('-a', '--account', dest='account', default=None,
                      help='Which AWS account to use from the config file')
    parser.add_option('-p', '--project', dest='project', default=None,
                      help='Which project from the instance data file')
    parser.add_option('-e', '--env', dest='env', default=None,
                      help='Which environment from the instance data file')

    (options, args) = parser.parse_args()

    if options.server is not None:
        create_server(options)


if __name__ == "__main__":
    main()
