ArgumentParser's add_argument returns the Action that was created. (#1881)

* ArgumentParser's add_argument returns the Action that was created.

* Make add_argument's dest parameter Optional. _ArgumentGroup's add_argument should also return the Action.
This commit is contained in:
Evan Krall
2018-03-28 19:09:22 -07:00
committed by Jelle Zijlstra
parent 0170e6d3c7
commit 4563c5a1ac

View File

@@ -75,8 +75,8 @@ class ArgumentParser:
required: bool = ...,
help: _Text = ...,
metavar: Union[_Text, Tuple[_Text, ...]] = ...,
dest: _Text = ...,
version: _Text = ...) -> None: ... # weirdly documented
dest: Optional[_Text] = ...,
version: _Text = ...) -> Action: ...
def parse_args(self, args: Optional[Sequence[_Text]] = ...,
namespace: Optional[Namespace] = ...) -> Namespace: ...
def add_subparsers(self, title: _Text = ...,
@@ -120,11 +120,12 @@ class Action:
nargs: Optional[Union[int, _Text]]
const: Any
default: Any
type: Optional[Union[Callable[[str], Any], FileType]]
type: Union[Callable[[str], Any], FileType, None]
choices: Optional[Iterable[Any]]
required: bool
help: Optional[_Text]
metavar: Optional[Union[_Text, Tuple[_Text, ...]]]
metavar: Union[_Text, Tuple[_Text, ...]]
def __init__(self,
option_strings: Sequence[_Text],
dest: _Text = ...,
@@ -171,8 +172,8 @@ class _ArgumentGroup:
required: bool = ...,
help: _Text = ...,
metavar: Union[_Text, Tuple[_Text, ...]] = ...,
dest: _Text = ...,
version: _Text = ...) -> None: ...
dest: Optional[_Text] = ...,
version: _Text = ...) -> Action: ...
def add_mutually_exclusive_group(self, required: bool = ...) -> _MutuallyExclusiveGroup: ...
class _MutuallyExclusiveGroup(_ArgumentGroup): ...