From f33be9a127393a0c5d25128e5d96afdb316139e1 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 16 Feb 2025 23:05:07 +0100 Subject: [PATCH] Handle MW errors in the new handler as well --- src/wiki.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/wiki.py b/src/wiki.py index 11c3126..e6e0fcb 100644 --- a/src/wiki.py +++ b/src/wiki.py @@ -322,6 +322,7 @@ class Wiki: # any([True for k in request_data.keys() if k in ("error", "errors")]) errors: list = request_data.get("errors", {}) # Is it ugly? I don't know tbh if errors: + logger.error("MediaWiki error on request: {}".format(url)) raise MediaWikiError(str(errors)) warnings: list = request_data.get("warnings", {}) if warnings: @@ -398,9 +399,6 @@ class Wiki: except ValueError: logger.warning("ValueError when extracting JSON data on {url}".format(url=request.url)) raise ServerError - except MediaWikiError: - logger.exception("MediaWiki error on request: {}".format(request.url)) - raise except KeyError: logger.exception("KeyError while iterating over json_path, full response: {}".format(request.json())) raise @@ -485,7 +483,7 @@ class Wiki: try: request = await self.fetch_wiki(amount=amount) self.client.last_request = request - except (aiohttp.ServerTimeoutError, asyncio.TimeoutError, WikiServerError, ServerError) as e: + except (aiohttp.ServerTimeoutError, asyncio.TimeoutError, WikiServerError, ServerError, MediaWikiError) as e: self.statistics.update(Log(type=LogType.CONNECTION_ERROR, title=str(str(e.exception) if hasattr(e, "exception") else repr(e)))) amount_of_failures = len(self.statistics.last_connection_failures()[0]) if amount_of_failures < 2: