summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2019-08-30 18:25:23 +0000
committerAnthony Sottile <asottile@umich.edu>2019-08-30 18:25:23 +0000
commiteee53d9440743a81a5e16b5f75da39832ee3e5ff (patch)
tree979dfd4c14193ee167b04a28eeed99c618116b79 /src
parentc185a2fe6aafc9bc6494fec66deb21d4cd38c9e1 (diff)
parent8ea3c6321d07af39abb6b95505bbaf6b37845faa (diff)
downloadflake8-eee53d9440743a81a5e16b5f75da39832ee3e5ff.tar.gz
Merge branch 'type-parse-known-args' into 'master'
Add typing to `OptionManager.parse_known_args()` See merge request pycqa/flake8!348
Diffstat (limited to 'src')
-rw-r--r--src/flake8/options/manager.py11
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.