Some optparse improvements (#2290)

* optparse.Option.dest is a string

* optparse.OptionParser.epilog is a string

* optparse.OptionParser.prog is string

* optparse.OptionParser.values is Values

Shuffle code to resolve forward reference

* optparse.OptionParser.*option_list is a list of Options

* optparse.OptionParser.parse_args returns 2-tuple

<https://docs.python.org/2/library/optparse.html#parsing-arguments>

* minor improvements to Values
This commit is contained in:
Philipp Hahn
2018-08-22 06:51:30 +02:00
committed by Jelle Zijlstra
parent 2cd0aa16b5
commit df516fab59

View File

@@ -101,7 +101,7 @@ class Option:
_long_opts = ... # type: List[_Text]
_short_opts = ... # type: List[_Text]
action = ... # type: _Text
dest = ... # type: Any
dest = ... # type: Optional[_Text]
nargs = ... # type: int
type = ... # type: Any
def __init__(self, *opts, **attrs) -> None: ...
@@ -156,19 +156,29 @@ class OptionGroup(OptionContainer):
def _create_option_list(self) -> None: ...
def set_title(self, title: _Text) -> None: ...
class Values:
def __init__(self, defaults: Optional[Mapping[str, Any]] = ...) -> None: ...
def _update(self, dict: Mapping[_Text, Any], mode: Any) -> None: ...
def _update_careful(self, dict: Mapping[_Text, Any]) -> None: ...
def _update_loose(self, dict: Mapping[_Text, Any]) -> None: ...
def ensure_value(self, attr: _Text, value: Any) -> Any: ...
def read_file(self, filename: _Text, mode: _Text) -> None: ...
def read_module(self, modname: _Text, mode: _Text) -> None: ...
def __getattr__(self, name: str) -> Any: ...
class OptionParser(OptionContainer):
allow_interspersed_args = ... # type: bool
epilog = ... # type: Any
epilog = ... # type: Optional[_Text]
formatter = ... # type: HelpFormatter
largs = ... # type: Optional[List[_Text]]
option_groups = ... # type: List[OptionParser]
option_list = ... # type: List[Any]
option_list = ... # type: List[Option]
process_default_values = ... # type: Any
prog = ... # type: Any
prog = ... # type: Optional[_Text]
rargs = ... # type: Optional[List[Any]]
standard_option_list = ... # type: List
standard_option_list = ... # type: List[Option]
usage = ... # type: Optional[_Text]
values = ... # type: Any
values = ... # type: Optional[Values]
version = ... # type: _Text
def __init__(self, usage: Optional[_Text] = ...,
option_list: Iterable[Option] = ...,
@@ -183,7 +193,7 @@ class OptionParser(OptionContainer):
def _add_help_option(self) -> None: ...
def _add_version_option(self) -> None: ...
def _create_option_list(self) -> None: ...
def _get_all_options(self) -> List[Any]: ...
def _get_all_options(self) -> List[Option]: ...
def _get_args(self, args: Iterable) -> List[Any]: ...
def _init_parsing_state(self) -> None: ...
def _match_long_opt(self, opt: _Text) -> _Text: ...
@@ -192,7 +202,7 @@ class OptionParser(OptionContainer):
def _process_long_opt(self, rargs: List, values: Any) -> None: ...
def _process_short_opts(self, rargs: List, values: Any) -> None: ...
def add_option_group(self, *args, **kwargs) -> OptionParser: ...
def check_values(self, values: Any, args) -> Tuple[Any, ...]: ...
def check_values(self, values: Values, args: List[_Text]) -> Tuple[Values, List[_Text]]: ...
def disable_interspersed_args(self) -> None: ...
def enable_interspersed_args(self) -> None: ...
def error(self, msg: _Text) -> None: ...
@@ -206,7 +216,7 @@ class OptionParser(OptionContainer):
def get_prog_name(self) -> _Text: ...
def get_usage(self) -> _Text: ...
def get_version(self) -> _Text: ...
def parse_args(self, args: Optional[Sequence[_Text]] = ..., values: Optional[Values] = ...) -> Tuple[Any, ...]: ...
def parse_args(self, args: Optional[Sequence[_Text]] = ..., values: Optional[Values] = ...) -> Tuple[Values, List[_Text]]: ...
def print_usage(self, file: Optional[IO[str]] = ...) -> None: ...
def print_help(self, file: Optional[IO[str]] = ...) -> None: ...
def print_version(self, file: Optional[IO[str]] = ...) -> None: ...
@@ -214,14 +224,3 @@ class OptionParser(OptionContainer):
def set_defaults(self, **kwargs) -> None: ...
def set_process_default_values(self, process: Any) -> None: ...
def set_usage(self, usage: _Text) -> None: ...
class Values:
def __init__(self, defaults: Optional[Mapping[str, Any]] = ...) -> None: ...
def _update(self, dict: Dict[_Text, Any], mode: Any) -> None: ...
def _update_careful(self, dict: Dict[_Text, Any]) -> None: ...
def _update_loose(self, dict: Dict[_Text, Any]) -> None: ...
def ensure_value(self, attr: Any, value: Any) -> Any: ...
def read_file(self, filename: _Text, mode: _Text) -> None: ...
def read_module(self, modname: _Text, mode: _Text) -> None: ...
def __getattr__(self, name: str) -> Any: ...