From 5be559cabce29848e592dfa8a819fdff0c3fad48 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Tue, 4 Apr 2023 15:26:31 -0400 Subject: [PATCH] Fix config overriding with --resolve-all-configs --- isort/main.py | 8 ++++---- isort/settings.py | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/isort/main.py b/isort/main.py index 7dd85e05c..11789ddd1 100644 --- a/isort/main.py +++ b/isort/main.py @@ -1111,15 +1111,15 @@ def main(argv: Optional[Sequence[str]] = None, stdin: Optional[TextIOWrapper] = all_attempt_broken = False no_valid_encodings = False - config_trie: Optional[Trie] = None - if resolve_all_configs: - config_trie = find_all_configs(config_dict.pop("config_root", ".")) - if "src_paths" in config_dict: config_dict["src_paths"] = { Path(src_path).resolve() for src_path in config_dict.get("src_paths", ()) } + config_trie: Optional[Trie] = None + if resolve_all_configs: + config_trie = find_all_configs(config_dict.pop("config_root", "."), config_dict) + config = Config(**config_dict) if show_config: print(json.dumps(config.__dict__, indent=4, separators=(",", ": "), default=_preconvert)) diff --git a/isort/settings.py b/isort/settings.py index 2c6b94bce..306a5b091 100644 --- a/isort/settings.py +++ b/isort/settings.py @@ -798,7 +798,7 @@ def _find_config(path: str) -> Tuple[str, Dict[str, Any]]: return (path, {}) -def find_all_configs(path: str) -> Trie: +def find_all_configs(path: str, config_overrides: Dict[str, Any]) -> Trie: """ Looks for config files in the path provided and in all of its sub-directories. Parses and stores any config file encountered in a trie and returns the root of @@ -820,6 +820,7 @@ def find_all_configs(path: str) -> Trie: config_data = {} if config_data: + config_data.update(config_overrides) trie_root.insert(potential_config_file, config_data) break