Skip to content

Commit

Permalink
Merge pull request #1995 from kaste/less-cache
Browse files Browse the repository at this point in the history
Do not cache configuration files
  • Loading branch information
timothycrosley committed Feb 10, 2023
2 parents 4e3ccb1 + 924466e commit 759d969
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 15 deletions.
6 changes: 1 addition & 5 deletions isort/settings.py
Expand Up @@ -11,7 +11,6 @@
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,
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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"):
Expand Down
8 changes: 0 additions & 8 deletions tests/unit/test_settings.py
Expand Up @@ -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]
Expand All @@ -138,14 +136,10 @@ def test_find_config(tmpdir):
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]

Expand All @@ -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
Expand Down
2 changes: 0 additions & 2 deletions tests/unit/test_ticketed_features.py
Expand Up @@ -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]
Expand Down Expand Up @@ -610,7 +609,6 @@ def test_isort_should_warn_on_empty_custom_config_issue_1433(tmpdir):
with pytest.warns(UserWarning):
assert not Config(settings_file=str(settings_file)).quiet

isort.settings._get_config_data.cache_clear()
settings_file.write(
"""
[isort]
Expand Down

0 comments on commit 759d969

Please sign in to comment.