diff options
| author | asciimoo <asciimoo@gmail.com> | 2014-01-19 00:17:02 +0100 |
|---|---|---|
| committer | asciimoo <asciimoo@gmail.com> | 2014-01-19 00:17:02 +0100 |
| commit | 3afdd1d9941527e23cd7c05d2c15dd24a32de834 (patch) | |
| tree | 4bc85cba1b0784e1528ef0d235562201e4f0c437 /searx/engines/__init__.py | |
| parent | 39ebe1d5193bf62340bc101d51cab77df3c06f7e (diff) | |
[enh] settings unification - new dependency: pyyaml
Diffstat (limited to 'searx/engines/__init__.py')
| -rw-r--r-- | searx/engines/__init__.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 5601ceb06..457af4cda 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -24,15 +24,11 @@ from operator import itemgetter from urlparse import urlparse from searx import settings from searx.utils import gen_useragent -import ConfigParser import sys from datetime import datetime engine_dir = dirname(realpath(__file__)) -searx_dir = join(engine_dir, '../../') -engines_config = ConfigParser.SafeConfigParser() -engines_config.read(join(searx_dir, 'engines.cfg')) number_of_searches = 0 engines = {} @@ -48,24 +44,23 @@ def load_module(filename): module.name = modname return module -if not engines_config.sections(): - print '[E] Error no engines found. Edit your engines.cfg' +if not 'engines' in settings or not settings['engines']: + print '[E] Error no engines found. Edit your settings.yml' exit(2) -for engine_config_name in engines_config.sections(): - engine_data = engines_config.options(engine_config_name) - engine = load_module(engines_config.get(engine_config_name, 'engine')+'.py') - engine.name = engine_config_name +for engine_data in settings['engines']: + engine_name = engine_data['engine'] + engine = load_module(engine_name+'.py') for param_name in engine_data: if param_name == 'engine': continue if param_name == 'categories': - if engines_config.get(engine_config_name, param_name) == 'none': + if engine_data['categories'] == 'none': engine.categories = [] else: - engine.categories = map(str.strip, engines_config.get(engine_config_name, param_name).split(',')) + engine.categories = map(str.strip, engine_data['categories'].split(',')) continue - setattr(engine, param_name, engines_config.get(engine_config_name, param_name)) + setattr(engine, param_name, engine_data[param_name]) for engine_attr in dir(engine): if engine_attr.startswith('_'): continue @@ -170,7 +165,7 @@ def search(query, request, selected_engines): request_args = dict(headers = request_params['headers'] ,hooks = dict(response=callback) ,cookies = request_params['cookies'] - ,timeout = settings.request_timeout + ,timeout = settings['server']['request_timeout'] ) if request_params['method'] == 'GET': |