From 49ab62bb2cf6e5bf286d411a64465eb1c07ff194 Mon Sep 17 00:00:00 2001 From: Thibaud Date: Mon, 2 Mar 2026 17:41:43 +0100 Subject: [PATCH] fix: handle error correctly with aiohttp upgrade --- wallabag_api/test_wallabag.py | 15 +++++++++++++++ wallabag_api/wallabag.py | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/wallabag_api/test_wallabag.py b/wallabag_api/test_wallabag.py index 65d131a..fac346f 100644 --- a/wallabag_api/test_wallabag.py +++ b/wallabag_api/test_wallabag.py @@ -75,6 +75,21 @@ class TestWallabag: ) assert isinstance(data, dict) + @pytest.mark.asyncio + async def test_get_entries_non_existing_page(self, setup_class): + wallabag, _ = setup_class + data = await wallabag.get_entries( + **{ + "delete": 0, + "sort": "created", + "order": "desc", + "page": 10, + "perPage": 30, + "tags": [], + } + ) + assert isinstance(data, dict) + @pytest.mark.asyncio async def test_get_entry(self, setup_class): wallabag, entry = setup_class diff --git a/wallabag_api/wallabag.py b/wallabag_api/wallabag.py index e91ce08..f847624 100644 --- a/wallabag_api/wallabag.py +++ b/wallabag_api/wallabag.py @@ -100,19 +100,19 @@ class Wallabag(object): json_data = {} if responses.status != 200: err_msg = HttpProcessingError(code=responses.status, - message=await responses.json()) + message=str(await responses.json())) logging.error("Wallabag: aiohttp error {err_msg}".format( err_msg=err_msg)) else: try: - json_data = responses.json() + json_data = await responses.json() except ClientResponseError as e: # sometimes json_data does not return any json() without # any error. This is due to the grabbing URL which "rejects" # the URL logging.error("Wallabag: aiohttp error {code} {message}" .format(code=e.code, message=e.message)) - return await json_data + return json_data @staticmethod def __get_attr(what, type_attr, value_attr, **kwargs):