on master help sign in
[enh] stop searx when an engine raise an SyntaxError exception (#2177)

and some other exceptions: * KeyboardInterrupt * SystemExit * RuntimeError * SystemError * ImportError: an engine with an unmet dependency will stop everything.

commit339738275446dc185e761bdc3f4714cf29d33fd8 authorAlexandre Flament <alex@al-f.net> dateMon 7 Sep 2020, 15:39 (6 years ago) parentf77ad22
1 file changed+3
searx/engines/__init__.py+3
searx/engines/__init__.py+3
@@ -74,6 +74,9 @@ def load_engine(engine_data):
7474
7575 try:
7676 engine = load_module(engine_module + '.py', engine_dir)
77+ except (SyntaxError, KeyboardInterrupt, SystemExit, SystemError, ImportError, RuntimeError) as e:
78+ logger.exception('Fatal exception in engine "{}"'.format(engine_module))
79+ sys.exit(1)
7780 except:
7881 logger.exception('Cannot load engine "{}"'.format(engine_module))
7982 return None