(parser, cmd_cls)
| 104 | |
| 105 | |
| 106 | def _find_parser(parser, cmd_cls): |
| 107 | defaults = parser._defaults |
| 108 | if not cmd_cls or cmd_cls == defaults.get("func"): |
| 109 | parser.print_help() |
| 110 | raise DvcParserError |
| 111 | |
| 112 | actions = parser._actions |
| 113 | for action in actions: |
| 114 | if not isinstance(action.choices, dict): |
| 115 | # NOTE: we are only interested in subparsers |
| 116 | continue |
| 117 | for subparser in action.choices.values(): |
| 118 | _find_parser(subparser, cmd_cls) |
| 119 | |
| 120 | |
| 121 | class DvcParser(argparse.ArgumentParser): |