#!/usr/bin/env python

import argparse
from km2pg import km2pg

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="load kissmetrics data from specified s3 bucket into specified postgres db")
    parser.add_argument('-b', '--s3bucket', help="name of s3 bucket where kissmetrics stores data", required=True)
    parser.add_argument('-m', '--host', help="hostname of machine hosting postgres db instance", required=True)
    parser.add_argument('-p', '--port', help="port on which postgres db instance listens", type=int, required=True)
    parser.add_argument('-d', '--dbname', help="name of postgres database", required=True)
    parser.add_argument('-u', '--user', help="postgres username", required=True)
    parser.add_argument('-w', '--passwd', help="postgres password", required=True)
    parser.add_argument('-i', '--indexfilename', help="name of kissmetrics index file", default=km2pg.DEFAULT_INDEX_FILENAME)
    parser.add_argument('-a', '--aws-access-key', help="aws access key; if not specified, "
                        "script will look for following env var: AWS_ACCESS_KEY_ID")
    parser.add_argument('-s', '--aws-secret-key', help="aws secret key; if not specified, "
                        "script will look for following env var: AWS_SECRET_ACCESS_KEY")
    args = parser.parse_args()
    km2pg.km2pg(args.s3bucket,
                args.host, args.port, args.dbname, args.user, args.passwd,
                indexfilename=args.indexfilename,
                aws_access_key=args.aws_access_key, aws_secret_key=args.aws_secret_key)
