#!python
from py2ng import filter_schemas, sch_to_intrf
import importlib
import sys
import os
import argparse
import importlib.util

arg_parser = argparse.ArgumentParser(description='Flaskerize')
arg_parser.add_argument('--camel-case', '-cc', action="store_true",
                        help='Convert snake_case Python names to lowerCamelCase')
arg_parser.add_argument('filename', help='Target file')

parsed = arg_parser.parse_args()
if not os.path.isfile(parsed.filename):
    exit(f'{parsed.filename} is not a valid file.')

spec = importlib.util.spec_from_file_location(parsed.filename, parsed.filename)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)

schemas = filter_schemas(module)
print()
for schema in schemas:
    sch_to_intrf(*schema, conv_camel=parsed.camel_case)
