From 95e633dc46df3b075850ef93e76df5246bcd1bd9 Mon Sep 17 00:00:00 2001 From: AlexWaygood Date: Sun, 19 Feb 2023 13:40:09 +0000 Subject: [PATCH 1/3] Fix broken stubsabot logic in `find_first_release_with_py_typed` --- scripts/stubsabot.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/stubsabot.py b/scripts/stubsabot.py index 8153fb11f564..dc7d581538ae 100644 --- a/scripts/stubsabot.py +++ b/scripts/stubsabot.py @@ -172,11 +172,12 @@ async def release_contains_py_typed(release_to_download: PypiReleaseDownload, *, async def find_first_release_with_py_typed(pypi_info: PypiInfo, *, session: aiohttp.ClientSession) -> PypiReleaseDownload | None: release_iter = pypi_info.releases_in_descending_order() + latest_release = next(release_iter) # If the latest release is not py.typed, assume none are. - if not (await release_contains_py_typed(release := next(release_iter), session=session)): + if not (await release_contains_py_typed(latest_release, session=session)): return None - first_release_with_py_typed: PypiReleaseDownload | None = None + first_release_with_py_typed = latest_release while await release_contains_py_typed(release := next(release_iter), session=session): if not release.version.is_prerelease: first_release_with_py_typed = release From 3d268b17110e21d24058606ed94a64f9cb2d07a0 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Sun, 19 Feb 2023 14:17:30 +0000 Subject: [PATCH 2/3] Do Akuli's suggestion --- scripts/stubsabot.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/stubsabot.py b/scripts/stubsabot.py index dc7d581538ae..9615e832bf4f 100644 --- a/scripts/stubsabot.py +++ b/scripts/stubsabot.py @@ -171,7 +171,10 @@ async def release_contains_py_typed(release_to_download: PypiReleaseDownload, *, async def find_first_release_with_py_typed(pypi_info: PypiInfo, *, session: aiohttp.ClientSession) -> PypiReleaseDownload | None: - release_iter = pypi_info.releases_in_descending_order() + release_iter = ( + release for release in pypi_info.releases_in_descending_order() + if not release.version.is_prerelease + ) latest_release = next(release_iter) # If the latest release is not py.typed, assume none are. if not (await release_contains_py_typed(latest_release, session=session)): @@ -179,8 +182,7 @@ async def find_first_release_with_py_typed(pypi_info: PypiInfo, *, session: aioh first_release_with_py_typed = latest_release while await release_contains_py_typed(release := next(release_iter), session=session): - if not release.version.is_prerelease: - first_release_with_py_typed = release + first_release_with_py_typed = release return first_release_with_py_typed From be94f6218af5612f50473e0f367139e922c7edf4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 19 Feb 2023 14:18:37 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks --- scripts/stubsabot.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/stubsabot.py b/scripts/stubsabot.py index 9615e832bf4f..eb5621977495 100644 --- a/scripts/stubsabot.py +++ b/scripts/stubsabot.py @@ -171,10 +171,7 @@ async def release_contains_py_typed(release_to_download: PypiReleaseDownload, *, async def find_first_release_with_py_typed(pypi_info: PypiInfo, *, session: aiohttp.ClientSession) -> PypiReleaseDownload | None: - release_iter = ( - release for release in pypi_info.releases_in_descending_order() - if not release.version.is_prerelease - ) + release_iter = (release for release in pypi_info.releases_in_descending_order() if not release.version.is_prerelease) latest_release = next(release_iter) # If the latest release is not py.typed, assume none are. if not (await release_contains_py_typed(latest_release, session=session)):