@@ -24,15 +24,11 @@ from operator import itemgetter
2424from urlparse import urlparse
2525from searx import settings
2626from searx.utils import gen_useragent
27−import ConfigParser
2827import sys
2928from datetime import datetime
3029
3130engine_dir = dirname(realpath(__file__))
32−searx_dir = join(engine_dir, '../../')
3331
34−engines_config = ConfigParser.SafeConfigParser()
35−engines_config.read(join(searx_dir, 'engines.cfg'))
3632number_of_searches = 0
3733
3834engines = {}
@@ -48,24 +44,23 @@ def load_module(filename):
4844 module.name = modname
4945 return module
5046
51−if not engines_config.sections():
52− print '[E] Error no engines found. Edit your engines.cfg'
47+if not 'engines' in settings or not settings['engines']:
48+ print '[E] Error no engines found. Edit your settings.yml'
5349 exit(2)
5450
55−for engine_config_name in engines_config.sections():
56− engine_data = engines_config.options(engine_config_name)
57− engine = load_module(engines_config.get(engine_config_name, 'engine')+'.py')
58− engine.name = engine_config_name
51+for engine_data in settings['engines']:
52+ engine_name = engine_data['engine']
53+ engine = load_module(engine_name+'.py')
5954 for param_name in engine_data:
6055 if param_name == 'engine':
6156 continue
6257 if param_name == 'categories':
63− if engines_config.get(engine_config_name, param_name) == 'none':
58+ if engine_data['categories'] == 'none':
6459 engine.categories = []
6560 else:
66− engine.categories = map(str.strip, engines_config.get(engine_config_name, param_name).split(','))
61+ engine.categories = map(str.strip, engine_data['categories'].split(','))
6762 continue
68− setattr(engine, param_name, engines_config.get(engine_config_name, param_name))
63+ setattr(engine, param_name, engine_data[param_name])
6964 for engine_attr in dir(engine):
7065 if engine_attr.startswith('_'):
7166 continue
@@ -170,7 +165,7 @@ def search(query, request, selected_engines):
170165 request_args = dict(headers = request_params['headers']
171166 ,hooks = dict(response=callback)
172167 ,cookies = request_params['cookies']
173− ,timeout = settings.request_timeout
168+ ,timeout = settings['server']['request_timeout']
174169 )
175170
176171 if request_params['method'] == 'GET':