#!/usr/bin/env python

import os
import sys

from csvkit import init_common_parser, extract_csv_reader_kwargs
from csvkit import sql
from csvkit import table

def main(args):
    """
    Generate a SQL create table statement for a given CSV file.
    """
    if args.file.name != '<stdin>':
        # Use filename as table name
        table_name = os.path.splitext(os.path.split(args.file.name)[1])[0]
    else:
        table_name = 'csvsql_table'

    csv_table = table.Table.from_csv(args.file, name=table_name, **extract_csv_reader_kwargs(args))
    sql_table = sql.make_table(csv_table)

    sys.stdout.write('%s\n' % sql.make_create_table_statement(sql_table, dialect=args.dialect))

if __name__ == '__main__':
    parser = init_common_parser(description='Generate a SQL CREATE TABLE statement for a CSV file.')
    parser.add_argument('-i', '--dialect', dest='dialect', choices=sql.DIALECTS,
                        help='Dialect of SQL to generate.')

    main(parser.parse_args())
