Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions src/poetry/utils/authenticator.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import requests.exceptions

from cachecontrol import CacheControlAdapter
from cachecontrol.caches import FileCache
from cachecontrol.caches import SeparateBodyFileCache
from requests_toolbelt import user_agent

from poetry.__version__ import __version__
Expand Down Expand Up @@ -115,15 +115,20 @@ def __init__(
dict[str, AuthenticatorRepositoryConfig] | None
) = None
self._password_manager = PasswordManager(self._config)

# Poetry < 2.4: FileCache -> directory "_http"
# Poetry >= 2.4: SeparateBodyCache -> directory "_http_"
# See https://github.com/python-poetry/poetry/pull/10816 for details.
self._cache_control = (
FileCache(
SeparateBodyFileCache(
self._config.repository_cache_directory
/ (cache_id or "_default_cache")
/ "_http"
/ "_http_"
)
if not disable_cache
else None
)

self.get_repository_config_for_url = functools.lru_cache(maxsize=None)(
self._get_repository_config_for_url
)
Expand Down
4 changes: 3 additions & 1 deletion tests/repositories/test_pypi_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,9 @@ def test_invalid_versions_ignored(pypi_repository: PyPiRepository) -> None:
def test_get_should_invalid_cache_on_too_many_redirects_error(
mocker: MockerFixture,
) -> None:
delete_cache = mocker.patch("cachecontrol.caches.file_cache.FileCache.delete")
delete_cache = mocker.patch(
"cachecontrol.caches.file_cache.SeparateBodyFileCache.delete"
)

response = Response()
response.status_code = 200
Expand Down
Loading