diff options
| author | Eric N. Vander Weele <ericvw@gmail.com> | 2019-08-30 12:47:56 -0400 |
|---|---|---|
| committer | Eric N. Vander Weele <ericvw@gmail.com> | 2019-08-30 14:17:20 -0400 |
| commit | 8ea3c6321d07af39abb6b95505bbaf6b37845faa (patch) | |
| tree | 979dfd4c14193ee167b04a28eeed99c618116b79 /src/flake8/options | |
| parent | 220a9287f51ffce656202ef238d69978ada12910 (diff) | |
| download | flake8-8ea3c6321d07af39abb6b95505bbaf6b37845faa.tar.gz | |
Add typing to `OptionManager.parse_known_args()`
Note that type casting is necessary given that `self.parser` is
annotated as a `Union`.
Diffstat (limited to 'src/flake8/options')
| -rw-r--r-- | src/flake8/options/manager.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/flake8/options/manager.py b/src/flake8/options/manager.py index 5998c11..a5e5906 100644 --- a/src/flake8/options/manager.py +++ b/src/flake8/options/manager.py @@ -4,7 +4,7 @@ import collections import contextlib import functools import logging -from typing import Any, Dict, Generator, List, Optional, Set, Union +from typing import Any, Dict, Generator, List, Optional, Set, Tuple, Union from flake8 import utils @@ -434,6 +434,7 @@ class OptionManager(object): return args, args.filenames def parse_known_args(self, args=None): + # type: (Optional[List[str]]) -> Tuple[argparse.Namespace, List[str]] """Parse only the known arguments from the argument values. Replicate a little argparse behaviour while we're still on @@ -441,8 +442,12 @@ class OptionManager(object): """ self.generate_epilog() self.update_version_string() - args, rest = self.parser.parse_known_args(args) - return args, rest + # TODO: Re-evaluate `self.parser` swap happening in `group()` to + # avoid needing to assert to satify static type checking. + assert isinstance( # nosec (for bandit) + self.parser, argparse.ArgumentParser + ), self.parser + return self.parser.parse_known_args(args) def register_plugin(self, name, version, local=False): """Register a plugin relying on the OptionManager. |
