From d703119d3a313a406482b121ee94c6afee3bc307 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Wed, 9 Dec 2020 21:23:20 +0100 Subject: [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 --- searx/engines/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'searx/engines/__init__.py') 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'): -- cgit v1.2.3