From 9237448613e616e51226d06e352fd1d14fb5e3aa Mon Sep 17 00:00:00 2001 From: Redmer Kronemeijer <12477216+redmer@users.noreply.github.com> Date: Fri, 15 May 2026 17:46:05 +0200 Subject: [PATCH] fix: pagination logic --- src/pyfwapi/apiconnection.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pyfwapi/apiconnection.py b/src/pyfwapi/apiconnection.py index bd2e9b1..dea809a 100644 --- a/src/pyfwapi/apiconnection.py +++ b/src/pyfwapi/apiconnection.py @@ -183,7 +183,7 @@ async def paginated[T: APIResponse]( """ page_url: str | None = path - while page_url is not None or page_url != "": + while page_url: full_results = await self.GET(page_url, headers=headers) full_results = full_results.json() @@ -196,9 +196,11 @@ async def paginated[T: APIResponse]( for d in data: yield type.model_validate(d) - # For next iteration, set page_url to None or next page - page_url = None - page_url: str | None = page.get("paging", dict()).get("next", None) + paging = page.get("paging", {}) + if paging: + page_url = paging.get("next") + else: + page_url = None async def retrying( self, path: str, *, retries: int | None = None, delay: float | None = None