From 3280ccddc487110a4a746d40a72c067379e1548f Mon Sep 17 00:00:00 2001 From: David Hotham Date: Sat, 16 Mar 2024 11:41:23 +0000 Subject: [PATCH] remove SimpleRepositoryPage fixes #6885 --- src/poetry/repositories/legacy_repository.py | 6 +++--- src/poetry/repositories/link_sources/html.py | 7 ------- src/poetry/repositories/single_page_repository.py | 6 +++--- tests/repositories/fixtures/legacy.py | 4 ++-- tests/repositories/test_legacy_repository.py | 2 +- tests/repositories/test_single_page_repository.py | 6 +++--- 6 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/poetry/repositories/legacy_repository.py b/src/poetry/repositories/legacy_repository.py index a6edf66729c..8b1bcea8236 100644 --- a/src/poetry/repositories/legacy_repository.py +++ b/src/poetry/repositories/legacy_repository.py @@ -12,7 +12,7 @@ from poetry.inspection.info import PackageInfo from poetry.repositories.exceptions import PackageNotFound from poetry.repositories.http_repository import HTTPRepository -from poetry.repositories.link_sources.html import SimpleRepositoryPage +from poetry.repositories.link_sources.html import HTMLPage from poetry.repositories.link_sources.html import SimpleRepositoryRootPage @@ -125,10 +125,10 @@ def _get_release_info( ), ) - def _get_page(self, name: NormalizedName) -> SimpleRepositoryPage: + def _get_page(self, name: NormalizedName) -> HTMLPage: if not (response := self._get_response(f"/{name}/")): raise PackageNotFound(f"Package [{name}] not found.") - return SimpleRepositoryPage(response.url, response.text) + return HTMLPage(response.url, response.text) @cached_property def root_page(self) -> SimpleRepositoryRootPage: diff --git a/src/poetry/repositories/link_sources/html.py b/src/poetry/repositories/link_sources/html.py index 3128b15fa1b..6b849e4e4cb 100644 --- a/src/poetry/repositories/link_sources/html.py +++ b/src/poetry/repositories/link_sources/html.py @@ -100,10 +100,3 @@ def package_names(self) -> list[str]: results.append(href.rstrip("/")) return results - - -class SimpleRepositoryPage(HTMLPage): - def __init__(self, url: str, content: str) -> None: - if not url.endswith("/"): - url += "/" - super().__init__(url=url, content=content) diff --git a/src/poetry/repositories/single_page_repository.py b/src/poetry/repositories/single_page_repository.py index 7bdc469bbf0..446957f12db 100644 --- a/src/poetry/repositories/single_page_repository.py +++ b/src/poetry/repositories/single_page_repository.py @@ -4,7 +4,7 @@ from poetry.repositories.exceptions import PackageNotFound from poetry.repositories.legacy_repository import LegacyRepository -from poetry.repositories.link_sources.html import SimpleRepositoryPage +from poetry.repositories.link_sources.html import HTMLPage if TYPE_CHECKING: @@ -12,11 +12,11 @@ class SinglePageRepository(LegacyRepository): - def _get_page(self, name: NormalizedName) -> SimpleRepositoryPage: + def _get_page(self, name: NormalizedName) -> HTMLPage: """ Single page repositories only have one page irrespective of endpoint. """ response = self._get_response("") if not response: raise PackageNotFound(f"Package [{name}] not found.") - return SimpleRepositoryPage(response.url, response.text) + return HTMLPage(response.url, response.text) diff --git a/tests/repositories/fixtures/legacy.py b/tests/repositories/fixtures/legacy.py index 58f431b0268..57c06aee1cb 100644 --- a/tests/repositories/fixtures/legacy.py +++ b/tests/repositories/fixtures/legacy.py @@ -22,7 +22,7 @@ from packaging.utils import NormalizedName from pytest_mock import MockerFixture - from poetry.repositories.link_sources.html import SimpleRepositoryPage + from poetry.repositories.link_sources.html import HTMLPage from tests.types import HTTPrettyRequestCallback from tests.types import NormalizedNameTransformer from tests.types import SpecializedLegacyRepositoryMocker @@ -129,7 +129,7 @@ def mock( ) original_get_page = specialized_repository._get_page - def _mocked_get_page(name: NormalizedName) -> SimpleRepositoryPage: + def _mocked_get_page(name: NormalizedName) -> HTMLPage: return original_get_page( canonicalize_name(f"{name}{transformer_or_suffix}") if isinstance(transformer_or_suffix, str) diff --git a/tests/repositories/test_legacy_repository.py b/tests/repositories/test_legacy_repository.py index 0d9f304f7c1..f4d955fbae6 100644 --- a/tests/repositories/test_legacy_repository.py +++ b/tests/repositories/test_legacy_repository.py @@ -592,7 +592,7 @@ def get_mock( monkeypatch.setattr(repo.session, "get", get_mock) page = repo.get_page("foo") assert page is not None - assert page._url == "http://legacy.redirect.bar/foo/" + assert page._url == "http://legacy.redirect.bar/foo" @pytest.mark.parametrize( diff --git a/tests/repositories/test_single_page_repository.py b/tests/repositories/test_single_page_repository.py index bbe3002c8e7..72ebff00a85 100644 --- a/tests/repositories/test_single_page_repository.py +++ b/tests/repositories/test_single_page_repository.py @@ -8,7 +8,7 @@ from poetry.core.packages.dependency import Dependency from poetry.repositories.exceptions import PackageNotFound -from poetry.repositories.link_sources.html import SimpleRepositoryPage +from poetry.repositories.link_sources.html import HTMLPage from poetry.repositories.single_page_repository import SinglePageRepository @@ -27,13 +27,13 @@ def __init__(self, page: str) -> None: ) self._lazy_wheel = False - def _get_page(self, name: NormalizedName) -> SimpleRepositoryPage: + def _get_page(self, name: NormalizedName) -> HTMLPage: fixture = self.FIXTURES / self.url.rsplit("/", 1)[-1] if not fixture.exists(): raise PackageNotFound(f"Package [{name}] not found.") with fixture.open(encoding="utf-8") as f: - return SimpleRepositoryPage(self._url, f.read()) + return HTMLPage(self._url, f.read()) def _download( self, url: str, dest: Path, *, raise_accepts_ranges: bool = False