소스 검색

[fix] do not load engines which cannot be initialized - closes #585

Adam Tauber 8 년 전
부모
커밋
54d987636e
1개의 변경된 파일7개의 추가작업 그리고 2개의 파일을 삭제
  1. 7
    2
      searx/engines/__init__.py

+ 7
- 2
searx/engines/__init__.py 파일 보기

@@ -57,7 +57,11 @@ def load_module(filename):
57 57
 
58 58
 def load_engine(engine_data):
59 59
     engine_name = engine_data['engine']
60
-    engine = load_module(engine_name + '.py')
60
+    try:
61
+        engine = load_module(engine_name + '.py')
62
+    except:
63
+        logger.exception('Cannot load engine "{}"'.format(engine_name))
64
+        return None
61 65
 
62 66
     for param_name in engine_data:
63 67
         if param_name == 'engine':
@@ -199,4 +203,5 @@ if 'engines' not in settings or not settings['engines']:
199 203
 
200 204
 for engine_data in settings['engines']:
201 205
     engine = load_engine(engine_data)
202
-    engines[engine.name] = engine
206
+    if engine is not None:
207
+        engines[engine.name] = engine