Skip to content
Snippets Groups Projects
cli.py 700 B
import argparse
import errno

from bio_parser.parse import add_validate_parser


def main():
    parser = argparse.ArgumentParser(
        prog="bio-parser",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
    )

    commands = parser.add_subparsers()
    add_validate_parser(commands)

    args = vars(parser.parse_args())
    if "func" in args:
        # Run the subcommand's function
        try:
            status = args.pop("func")(**args)
            parser.exit(status=status)
        except KeyboardInterrupt:
            # Just quit silently on ^C instead of displaying a long traceback
            parser.exit(status=errno.EOWNERDEAD)
    else:
        parser.print_help()