summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/engines/qwant.py17
1 files 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