From da1446c5ed054837f07db659e75f63374fde9299 Mon Sep 17 00:00:00 2001 From: jazzzooo <38244149+jazzzooo@users.noreply.github.com> Date: Sun, 17 Sep 2023 06:45:07 -0700 Subject: [PATCH] [fix] engine - qwant wrong error type --- searx/engines/qwant.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py index 0ffc6d1a9..30e7e237e 100644 --- a/searx/engines/qwant.py +++ b/searx/engines/qwant.py @@ -50,7 +50,7 @@ from flask_babel import gettext import babel import lxml -from searx.exceptions import SearxEngineAPIException +from searx.exceptions import SearxEngineAPIException, SearxEngineTooManyRequestsException from searx.network import raise_for_httperror from searx.enginelib.traits import EngineTraits @@ -188,15 +188,11 @@ def parse_web_api(resp): # check for an API error if search_results.get('status') != 'success': - msg = ",".join( - data.get( - 'message', - [ - 'unknown', - ], - ) - ) - raise SearxEngineAPIException('API error::' + msg) + error_code = data.get('error_code') + if error_code == 24: + raise SearxEngineTooManyRequestsException() + msg = ",".join(data.get('message', ['unknown'])) + raise SearxEngineAPIException(f"{msg} ({error_code})") # raise for other errors raise_for_httperror(resp) @@ -220,7 +216,6 @@ def parse_web_api(resp): return [] for row in mainline: - mainline_type = row.get('type', 'web') if mainline_type != qwant_categ: continue