diff options
| author | Alexandre Flament <alex@al-f.net> | 2020-12-09 21:23:20 +0100 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2020-12-11 14:37:08 +0100 |
| commit | d703119d3a313a406482b121ee94c6afee3bc307 (patch) | |
| tree | 7834dc899b99db4ea3f9f81542e8e029bf5b7d04 /searx/metrology/error_recorder.py | |
| parent | 033f39bff7b3365256491014140e35aa1e974d4e (diff) | |
[enh] add raise_for_httperror
check HTTP response:
* detect some comme CAPTCHA challenge (no solving). In this case the engine is suspended for long a time.
* otherwise raise HTTPError as before
the check is done in poolrequests.py (was before in search.py).
update qwant, wikipedia, wikidata to use raise_for_httperror instead of raise_for_status
Diffstat (limited to 'searx/metrology/error_recorder.py')
| -rw-r--r-- | searx/metrology/error_recorder.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/searx/metrology/error_recorder.py b/searx/metrology/error_recorder.py index 4b67235e1..fee1ef7d6 100644 --- a/searx/metrology/error_recorder.py +++ b/searx/metrology/error_recorder.py @@ -4,7 +4,8 @@ import logging from json import JSONDecodeError from urllib.parse import urlparse from requests.exceptions import RequestException -from searx.exceptions import SearxXPathSyntaxException, SearxEngineXPathException +from searx.exceptions import (SearxXPathSyntaxException, SearxEngineXPathException, SearxEngineAPIException, + SearxEngineAccessDeniedException) from searx import logger @@ -100,6 +101,10 @@ def get_messages(exc, filename) -> typing.Tuple: return (exc.xpath_str, exc.message) if isinstance(exc, SearxEngineXPathException): return (exc.xpath_str, exc.message) + if isinstance(exc, SearxEngineAPIException): + return (str(exc.args[0]), ) + if isinstance(exc, SearxEngineAccessDeniedException): + return (exc.message, ) return () |