|  | @@ -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
 |