(argv=sys.argv[1:], prog=sys.argv[0], *, subset='parse')
| 217 | # the script |
| 218 | |
| 219 | def parse_args(argv=sys.argv[1:], prog=sys.argv[0], *, subset='parse'): |
| 220 | import argparse |
| 221 | parser = argparse.ArgumentParser( |
| 222 | prog=prog or get_prog, |
| 223 | ) |
| 224 | |
| 225 | processors = add_commands_cli( |
| 226 | parser, |
| 227 | commands={k: v[1] for k, v in COMMANDS.items()}, |
| 228 | commonspecs=[ |
| 229 | add_verbosity_cli, |
| 230 | add_traceback_cli, |
| 231 | ], |
| 232 | subset=subset, |
| 233 | ) |
| 234 | |
| 235 | args = parser.parse_args(argv) |
| 236 | ns = vars(args) |
| 237 | |
| 238 | cmd = ns.pop('cmd') |
| 239 | |
| 240 | verbosity, traceback_cm = process_args_by_key( |
| 241 | args, |
| 242 | argv, |
| 243 | processors[cmd], |
| 244 | ['verbosity', 'traceback_cm'], |
| 245 | ) |
| 246 | |
| 247 | return cmd, ns, verbosity, traceback_cm |
| 248 | |
| 249 | |
| 250 | def main(cmd, cmd_kwargs): |
no test coverage detected
searching dependent graphs…