(argv=sys.argv[1:], prog=sys.argv[0], *, subset=None)
| 491 | # the script |
| 492 | |
| 493 | def parse_args(argv=sys.argv[1:], prog=sys.argv[0], *, subset=None): |
| 494 | import argparse |
| 495 | parser = argparse.ArgumentParser( |
| 496 | prog=prog or get_prog(), |
| 497 | ) |
| 498 | |
| 499 | processors = add_commands_cli( |
| 500 | parser, |
| 501 | commands={k: v[1] for k, v in COMMANDS.items()}, |
| 502 | commonspecs=[ |
| 503 | add_verbosity_cli, |
| 504 | add_traceback_cli, |
| 505 | ], |
| 506 | subset=subset, |
| 507 | ) |
| 508 | |
| 509 | args = parser.parse_args(argv) |
| 510 | ns = vars(args) |
| 511 | |
| 512 | cmd = ns.pop('cmd') |
| 513 | |
| 514 | verbosity, traceback_cm = process_args_by_key( |
| 515 | args, |
| 516 | argv, |
| 517 | processors[cmd], |
| 518 | ['verbosity', 'traceback_cm'], |
| 519 | ) |
| 520 | # "verbosity" is sent to the commands, so we put it back. |
| 521 | args.verbosity = verbosity |
| 522 | |
| 523 | return cmd, ns, verbosity, traceback_cm |
| 524 | |
| 525 | |
| 526 | def main(cmd, cmd_kwargs): |
no test coverage detected
searching dependent graphs…