Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove SimpleRepositoryPage #9166

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Next Next commit
remove SimpleRepositoryPage
fixes #6885
  • Loading branch information
dimbleby authored and radoering committed Jul 7, 2024
commit 1d860cac2af25e885cb20e8bf1ebad9570e20590
6 changes: 3 additions & 3 deletions src/poetry/repositories/legacy_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down Expand Up @@ -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:
Expand Down
7 changes: 0 additions & 7 deletions src/poetry/repositories/link_sources/html.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
6 changes: 3 additions & 3 deletions src/poetry/repositories/single_page_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@

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:
from packaging.utils import NormalizedName


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)
4 changes: 2 additions & 2 deletions tests/repositories/fixtures/legacy.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion tests/repositories/test_legacy_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
6 changes: 3 additions & 3 deletions tests/repositories/test_single_page_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand All @@ -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
Expand Down