@@ -41,11 +41,8 @@ def load_module(filename):
41 module.name = modname
41 module.name = modname
42 return module
42 return module
44−if 'engines' not in settings or not settings['engines']:
45− print '[E] Error no engines found. Edit your settings.yml'
48−for engine_data in settings['engines']:
45+def load_engine(engine_data):
49 engine_name = engine_data['engine']
46 engine_name = engine_data['engine']
50 engine = load_module(engine_name + '.py')
47 engine = load_module(engine_name + '.py')
@@ -87,7 +84,6 @@ for engine_data in settings['engines']:
87 print '[E] Engine config error: Missing attribute "{0}.{1}"'.format(engine.name, engine_attr) # noqa
84 print '[E] Engine config error: Missing attribute "{0}.{1}"'.format(engine.name, engine_attr) # noqa
88 sys.exit(1)
85 sys.exit(1)
90− engines[engine.name] = engine
91 engine.stats = {
87 engine.stats = {
92 'result_count': 0,
88 'result_count': 0,
93 'search_count': 0,
89 'search_count': 0,
@@ -105,6 +101,7 @@ for engine_data in settings['engines']:
105 if engine.shortcut:
101 if engine.shortcut:
106 # TODO check duplications
102 # TODO check duplications
107 engine_shortcuts[engine.shortcut] = engine.name
103 engine_shortcuts[engine.shortcut] = engine.name
110def get_engines_stats():
107def get_engines_stats():
@@ -194,3 +191,12 @@ def get_engines_stats():
194 sorted(errors, key=itemgetter('avg'), reverse=True)
191 sorted(errors, key=itemgetter('avg'), reverse=True)
196+if 'engines' not in settings or not settings['engines']:
197+ print '[E] Error no engines found. Edit your settings.yml'
200+for engine_data in settings['engines']:
201+ engine = load_engine(engine_data)
202+ engines[engine.name] = engine