on master help sign in
[fix] make sure then engine name is lower case
2361189Dalf
searx/engines/__init__.py+16−9
@@ -57,11 +57,16 @@ engine_default_args = {'paging': False,
57
57
58
58
59def load_engine(engine_data):
59def load_engine(engine_data):
60−
60+ engine_name = engine_data['name']
61− if '_' in engine_data['name']:
61+ if '_' in engine_name:
62− logger.error('Engine name conains underscore: "{}"'.format(engine_data['name']))
62+ logger.error('Engine name contains underscore: "{}"'.format(engine_name))
63 sys.exit(1)
63 sys.exit(1)
64
64
65+ if engine_name.lower() != engine_name:
66+ logger.warn('Engine name is not lowercase: "{}", converting to lowercase'.format(engine_name))
67+ engine_name = engine_name.lower()
68+ engine_data['name'] = engine_name
69+
65 engine_module = engine_data['engine']
70 engine_module = engine_data['engine']
66
71
67 try:
72 try:
@@ -248,12 +253,14 @@ def load_engines(engine_list):
248
253
249def initialize_engines(engine_list):
254def initialize_engines(engine_list):
250 load_engines(engine_list)
255 load_engines(engine_list)
256+
257+ def engine_init(engine_name, init_fn):
258+ init_fn()
259+ logger.debug('%s engine: Initialized', engine_name)
260+
251 for engine_name, engine in engines.items():
261 for engine_name, engine in engines.items():
252 if hasattr(engine, 'init'):
262 if hasattr(engine, 'init'):
253 init_fn = getattr(engine, 'init')
263 init_fn = getattr(engine, 'init')
254−
255− def engine_init():
256− init_fn()
264+ if init_fn:
257− logger.debug('%s engine initialized', engine_name)
258− logger.debug('Starting background initialization of %s engine', engine_name)
265+ logger.debug('%s engine: Starting background initialization', engine_name)
259− threading.Thread(target=engine_init).start()
266+ threading.Thread(target=engine_init, args=(engine_name, init_fn)).start()