summaryrefslogtreecommitdiff
path: root/src/flake8/options
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2019-12-30 00:20:42 +0000
committerAnthony Sottile <asottile@umich.edu>2019-12-30 00:20:42 +0000
commit20906d43046096c31dfcd9b8bc536dbd21f043ef (patch)
treebe8cf25e4c6514ed9c71427c44d34bef6d3f23f3 /src/flake8/options
parentbb61b3df82a938f7cd1ca32daab4a31e4586b281 (diff)
parent738c8490ec56fc364f4229df2c7c9adca8d1d4f2 (diff)
downloadflake8-20906d43046096c31dfcd9b8bc536dbd21f043ef.tar.gz
Merge branch 'aggregator-config-isolated-fix' into 'master'
aggregator: Forward --config and --isolated options during aggregation Closes #605 See merge request pycqa/flake8!395
Diffstat (limited to 'src/flake8/options')
-rw-r--r--src/flake8/options/aggregator.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/flake8/options/aggregator.py b/src/flake8/options/aggregator.py
index 719160a..58d1022 100644
--- a/src/flake8/options/aggregator.py
+++ b/src/flake8/options/aggregator.py
@@ -5,7 +5,7 @@ applies the user-specified command-line configuration on top of it.
"""
import argparse
import logging
-from typing import List, Tuple
+from typing import List, Optional, Tuple
from flake8.options import config
from flake8.options.manager import OptionManager
@@ -16,6 +16,8 @@ LOG = logging.getLogger(__name__)
def aggregate_options(
manager, # type: OptionManager
config_finder, # type: config.ConfigFileFinder
+ cli_config, # type: Optional[str]
+ isolated, # type: bool
argv, # type: List[str]
): # type: (...) -> Tuple[argparse.Namespace, List[str]]
"""Aggregate and merge CLI and config file options.
@@ -24,6 +26,12 @@ def aggregate_options(
The instance of the OptionManager that we're presently using.
:param flake8.options.config.ConfigFileFinder config_finder:
The config file finder to use.
+ :param str cli_config:
+ Value of --config when specified at the command-line. Overrides
+ all other config files.
+ :param bool isolated:
+ Determines if we should parse configuration files at all or not.
+ If running in isolated mode, we ignore all configuration files
:param list argv:
The list of remaining command-line argumentsthat were unknown during
preliminary option parsing to pass to ``manager.parse_args``.
@@ -35,9 +43,6 @@ def aggregate_options(
"""
# Get defaults from the option parser
default_values, _ = manager.parse_args([])
- # Get original CLI values so we can find additional config file paths and
- # see if --config was specified.
- original_values, _ = manager.parse_args(argv)
# Make our new configuration file mergerator
config_parser = config.MergedConfigParser(
@@ -45,9 +50,7 @@ def aggregate_options(
)
# Get the parsed config
- parsed_config = config_parser.parse(
- original_values.config, original_values.isolated
- )
+ parsed_config = config_parser.parse(cli_config, isolated)
# Extend the default ignore value with the extended default ignore list,
# registered by plugins.