MCPcopy Create free account
hub / github.com/python-cmd2/cmd2 / _get_nargs_pattern

Method _get_nargs_pattern

cmd2/argparse_utils.py:882–895  ·  view source on GitHub ↗

Override to support nargs ranges.

(self, action: argparse.Action)

Source from the content-addressed store, hash-verified

880 return super().format_help() + "\n"
881
882 def _get_nargs_pattern(self, action: argparse.Action) -> str:
883 """Override to support nargs ranges."""
884 nargs_range = action.get_nargs_range() # type: ignore[attr-defined]
885 if nargs_range:
886 range_max = "" if nargs_range[1] == constants.INFINITY else nargs_range[1]
887 nargs_pattern = f"(-*A{{{nargs_range[0]},{range_max}}}-*)"
888
889 # if this is an optional action, -- is not allowed
890 if action.option_strings:
891 nargs_pattern = nargs_pattern.replace("-*", "")
892 nargs_pattern = nargs_pattern.replace("-", "")
893 return nargs_pattern
894
895 return super()._get_nargs_pattern(action)
896
897 def _match_argument(self, action: argparse.Action, arg_strings_pattern: str) -> int:
898 """Override to support nargs ranges."""

Callers 1

_match_argumentMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected