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()