Add typing to OptionManager.parse_args()

Note that the `assert` is necessary to "cast" `self.parser` since it is
specified as a `Union`.
This commit is contained in:
Eric N. Vander Weele 2019-08-30 15:17:16 -04:00
parent eee53d9440
commit 18806a4956

View file

@ -426,12 +426,16 @@ class OptionManager(object):
)
def parse_args(self, args=None, values=None):
# type: (Optional[List[str]], Optional[argparse.Namespace]) -> Tuple[argparse.Namespace, List[str]] # noqa: E501
"""Proxy to calling the OptionParser's parse_args method."""
self.generate_epilog()
self.update_version_string()
args = self.parser.parse_args(args, values)
assert isinstance( # nosec (for bandit)
self.parser, argparse.ArgumentParser
), self.parser
parsed_args = self.parser.parse_args(args, values)
# TODO: refactor callers to not need this
return args, args.filenames
return parsed_args, parsed_args.filenames
def parse_known_args(self, args=None):
# type: (Optional[List[str]]) -> Tuple[argparse.Namespace, List[str]]