@@ -41,11 +41,8 @@ def load_module(filename):
4141 module.name = modname
4242 return module
4343
44−if 'engines' not in settings or not settings['engines']:
45− print '[E] Error no engines found. Edit your settings.yml'
46− exit(2)
4744
48−for engine_data in settings['engines']:
45+def load_engine(engine_data):
4946 engine_name = engine_data['engine']
5047 engine = load_module(engine_name + '.py')
5148
@@ -87,7 +84,6 @@ for engine_data in settings['engines']:
8784 print '[E] Engine config error: Missing attribute "{0}.{1}"'.format(engine.name, engine_attr) # noqa
8885 sys.exit(1)
8986
90− engines[engine.name] = engine
9187 engine.stats = {
9288 'result_count': 0,
9389 'search_count': 0,
@@ -105,6 +101,7 @@ for engine_data in settings['engines']:
105101 if engine.shortcut:
106102 # TODO check duplications
107103 engine_shortcuts[engine.shortcut] = engine.name
104+ return engine
108105
109106
110107def get_engines_stats():
@@ -194,3 +191,12 @@ def get_engines_stats():
194191 sorted(errors, key=itemgetter('avg'), reverse=True)
195192 ),
196193 ]
194+
195+
196+if 'engines' not in settings or not settings['engines']:
197+ print '[E] Error no engines found. Edit your settings.yml'
198+ exit(2)
199+
200+for engine_data in settings['engines']:
201+ engine = load_engine(engine_data)
202+ engines[engine.name] = engine