#!/usr/bin/env python3
import argparse
from userdatamodel.models import * # noqa
from userdatamodel.init_defaults import init_defaults
from userdatamodel.driver import SQLAlchemyDriver


def main(**kwargs):
    db = SQLAlchemyDriver(
        "postgresql://{username}:{password}@{host}/{db}".format(**kwargs),
        ignore_db_error=False,
        )
    print('initializing database')
    init_defaults(db)


if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        'userdatamodel initialization',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument(
        '--username', default='postgres', help='dataabase username')
    parser.add_argument(
        '--password', default='', help='database password')
    parser.add_argument(
        '--host', default='localhost', help='database hostname')
    parser.add_argument(
        '--db', default='userdatamodel', help='database name')
    args = parser.parse_args()
    main(**args.__dict__)
