summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2019-08-31 04:15:30 +0000
committerAnthony Sottile <asottile@umich.edu>2019-08-31 04:15:30 +0000
commit8cd1e0ecc7b137ce9d6aaf074a5f93024269174d (patch)
treeb8007cd8068739a67f84fbd6eb9d52d3916574dd /src
parenteee53d9440743a81a5e16b5f75da39832ee3e5ff (diff)
parentaadd09dd8bd91092b22b24b860d4ff2476313b1c (diff)
downloadflake8-8cd1e0ecc7b137ce9d6aaf074a5f93024269174d.tar.gz
Merge branch 'optmgr-parse-args-default-values' into 'master'
Set configuration file-provided values via ArgumentParser.set_defaults() See merge request pycqa/flake8!350
Diffstat (limited to 'src')
-rw-r--r--src/flake8/options/manager.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/flake8/options/manager.py b/src/flake8/options/manager.py
index a5e5906..f745388 100644
--- a/src/flake8/options/manager.py
+++ b/src/flake8/options/manager.py
@@ -425,13 +425,23 @@ class OptionManager(object):
plugin_version_format
)
- def parse_args(self, args=None, values=None):
+ def parse_args(
+ self,
+ args=None, # type: Optional[List[str]]
+ values=None, # type: Optional[argparse.Namespace]
+ ):
+ # type: (...) -> Tuple[argparse.Namespace, List[str]]
"""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
+ if values:
+ self.parser.set_defaults(**vars(values))
+ parsed_args = self.parser.parse_args(args)
# 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]]