#!python


def main() -> None:
    import argparse

    from logpyle.upgrade_db import upgrade_db

    parser = argparse.ArgumentParser(description="Upgrade an existing database\
            file to version 3")
    parser.add_argument("dbfiles", nargs="+", type=str,
                        help="database file(s) to read")
    parser.add_argument("--overwrite", action="store_true",
                        help="""overwrite the passed in database file""")
    parser.add_argument("--suffix", type=str, required=False,
                        help="""a suffix to append to the filename of the
                        newly upgraded database file""")

    args = parser.parse_args()

    if args.overwrite and args.suffix:
        raise argparse.ArgumentError(
                argument=None,
                message="Cannot overwrite file and use a suffix"
                )

    if args.suffix == "":
        raise NameError("Specify non-empty suffix, "
                        "overwriting db files is performed with "
                        "the flag '--overwrite'")

    suffix = args.suffix or "_upgrade"

    for dbfile in args.dbfiles:
        upgrade_db(dbfile, suffix=suffix, overwrite=args.overwrite)


if __name__ == "__main__":
    main()
