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/engines/__init__.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/engines/__init__.py')
| -rw-r--r-- | searx/engines/__init__.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 0b77f2a95..b2a9b25a4 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -281,8 +281,12 @@ def initialize_engines(engine_list): load_engines(engine_list) def engine_init(engine_name, init_fn): - init_fn(get_engine_from_settings(engine_name)) - logger.debug('%s engine: Initialized', engine_name) + try: + init_fn(get_engine_from_settings(engine_name)) + except Exception: + logger.exception('%s engine: Fail to initialize', engine_name) + else: + logger.debug('%s engine: Initialized', engine_name) for engine_name, engine in engines.items(): if hasattr(engine, 'init'): |