summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Edmund Crosley <timothy.crosley@gmail.com>2023-02-09 21:25:25 -0800
committerGitHub <noreply@github.com>2023-02-09 21:25:25 -0800
commit759d96949a6de9ad3c9d6acf099be7a5393493b3 (patch)
tree06b8399d8a22d8d99b5a9d294b1bab80563796ea
parent4e3ccb1c635badad59fb0dd95ef8923a95390f21 (diff)
parent924466e4f0fc04e356b121ca118bb223981d0c94 (diff)
downloadisort-759d96949a6de9ad3c9d6acf099be7a5393493b3.tar.gz
Merge pull request #1995 from kaste/less-cache
Do not cache configuration files
-rw-r--r--isort/settings.py6
-rw-r--r--tests/unit/test_settings.py8
-rw-r--r--tests/unit/test_ticketed_features.py2
3 files changed, 1 insertions, 15 deletions
diff --git a/isort/settings.py b/isort/settings.py
index fb9bba2f..24de2337 100644
--- a/isort/settings.py
+++ b/isort/settings.py
@@ -11,7 +11,6 @@ import stat
import subprocess # nosec: Needed for gitignore support.
import sys
from dataclasses import dataclass, field
-from functools import lru_cache
from pathlib import Path
from typing import (
TYPE_CHECKING,
@@ -766,7 +765,6 @@ def _abspaths(cwd: str, values: Iterable[str]) -> Set[str]:
return paths
-@lru_cache()
def _find_config(path: str) -> Tuple[str, Dict[str, Any]]:
current_directory = path
tries = 0
@@ -799,7 +797,6 @@ def _find_config(path: str) -> Tuple[str, Dict[str, Any]]:
return (path, {})
-@lru_cache()
def find_all_configs(path: str) -> Trie:
"""
Looks for config files in the path provided and in all of its sub-directories.
@@ -828,8 +825,7 @@ def find_all_configs(path: str) -> Trie:
return trie_root
-@lru_cache()
-def _get_config_data(file_path: str, sections: Tuple[str]) -> Dict[str, Any]:
+def _get_config_data(file_path: str, sections: Tuple[str, ...]) -> Dict[str, Any]:
settings: Dict[str, Any] = {}
if file_path.endswith(".toml"):
diff --git a/tests/unit/test_settings.py b/tests/unit/test_settings.py
index 86354512..295b30c1 100644
--- a/tests/unit/test_settings.py
+++ b/tests/unit/test_settings.py
@@ -126,8 +126,6 @@ def test_find_config(tmpdir):
tmp_config = tmpdir.join(".isort.cfg")
# can't find config if it has no relevant section
- settings._find_config.cache_clear()
- settings._get_config_data.cache_clear()
tmp_config.write_text(
"""
[section]
@@ -138,14 +136,10 @@ force_grid_wrap=true
assert not settings._find_config(str(tmpdir))[1]
# or if it is malformed
- settings._find_config.cache_clear()
- settings._get_config_data.cache_clear()
tmp_config.write_text("""arstoyrsyan arienrsaeinrastyngpuywnlguyn354q^%$)(%_)@$""", "utf8")
assert not settings._find_config(str(tmpdir))[1]
# can when it has either a file format, or generic relevant section
- settings._find_config.cache_clear()
- settings._get_config_data.cache_clear()
_write_simple_settings(tmp_config)
assert settings._find_config(str(tmpdir))[1]
@@ -155,8 +149,6 @@ def test_find_config_deep(tmpdir):
dirs = [f"dir{i}" for i in range(settings.MAX_CONFIG_SEARCH_DEPTH + 1)]
tmp_dirs = tmpdir.ensure(*dirs, dirs=True)
tmp_config = tmpdir.join("dir0", ".isort.cfg")
- settings._find_config.cache_clear()
- settings._get_config_data.cache_clear()
_write_simple_settings(tmp_config)
assert not settings._find_config(str(tmp_dirs))[1]
# but can find config if it is MAX_CONFIG_SEARCH_DEPTH up
diff --git a/tests/unit/test_ticketed_features.py b/tests/unit/test_ticketed_features.py
index 6f483e8f..32eeb709 100644
--- a/tests/unit/test_ticketed_features.py
+++ b/tests/unit/test_ticketed_features.py
@@ -555,7 +555,6 @@ def test_isort_respects_quiet_from_sort_file_api_see_1461(capsys, tmpdir):
assert not out
# Present in an automatically loaded configuration file
- isort.settings._find_config.cache_clear()
settings_file.write(
"""
[isort]
@@ -610,7 +609,6 @@ quiet = true
with pytest.warns(UserWarning):
assert not Config(settings_file=str(settings_file)).quiet
- isort.settings._get_config_data.cache_clear()
settings_file.write(
"""
[isort]