on master help sign in
[mod] don't dump traceback of SearxEngineResponseException on init

When initing engines a "SearxEngineResponseException" is logged very verbose, including full traceback information: ERROR:searx.engines:yggtorrent engine: Fail to initialize Traceback (most recent call last): File "share/searx/searx/engines/__init__.py", line 293, in engine_init init_fn(get_engine_from_settings(engine_name)) File "share/searx/searx/engines/yggtorrent.py", line 42, in init resp = http_get(url, allow_redirects=False) File "share/searx/searx/poolrequests.py", line 197, in get return request('get', url, **kwargs) File "share/searx/searx/poolrequests.py", line 190, in request raise_for_httperror(response) File "share/searx/searx/raise_for_httperror.py", line 60, in raise_for_httperror raise_for_captcha(resp) File "share/searx/searx/raise_for_httperror.py", line 43, in raise_for_captcha raise_for_cloudflare_captcha(resp) File "share/searx/searx/raise_for_httperror.py", line 30, in raise_for_cloudflare_captcha raise SearxEngineCaptchaException(message='Cloudflare CAPTCHA', suspended_time=3600 * 24 * 15) searx.exceptions.SearxEngineCaptchaException: Cloudflare CAPTCHA, suspended_time=1296000 For SearxEngineResponseException this is not needed. Those types of exceptions can be a normal use case. E.g. for CAPTCHA errors like shown in the example above. It should be enough to log a warning for such issues: WARNING:searx.engines:yggtorrent engine: Fail to initialize // Cloudflare CAPTCHA, suspended_time=1296000 closes: #2612 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>

commit48451831286037cd5e2610c756cff2f1abeb9411 authorMarkus Heiser <markus.heiser@darmarit.de> dateFri 5 Mar 2021, 17:26 (6 years ago) parent0165e14
1 file changed+3
searx/engines/__init__.py+3
searx/engines/__init__.py+3
@@ -26,6 +26,7 @@ from operator import itemgetter
2626from searx import settings
2727from searx import logger
2828from searx.data import ENGINES_LANGUAGES
29+from searx.exceptions import SearxEngineResponseException
2930from searx.poolrequests import get, get_proxy_cycles
3031from searx.utils import load_module, match_language, get_engine_from_settings, gen_useragent
3132
@@ -291,6 +292,8 @@ def initialize_engines(engine_list):
291292 def engine_init(engine_name, init_fn):
292293 try:
293294 init_fn(get_engine_from_settings(engine_name))
295+ except SearxEngineResponseException as exc:
296+ logger.warn('%s engine: Fail to initialize // %s', engine_name, exc)
294297 except Exception:
295298 logger.exception('%s engine: Fail to initialize', engine_name)
296299 else: