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