diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 87b1b0eb4..d3a57c32b 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -32,7 +32,6 @@ engine_dir = dirname(realpath(__file__)) engines = {} categories = {'general': []} -_initialized = False engine_shortcuts = {} engine_default_args = {'paging': False, @@ -202,11 +201,10 @@ def get_engines_stats(): ] -if 'engines' not in settings or not settings['engines']: - logger.error('No engines found. Edit your settings.yml') - exit(2) - -for engine_data in settings['engines']: - engine = load_engine(engine_data) - if engine is not None: +def initialize_engines(engine_list): + global categories, engines + engines = {} + categories = {'general': []} + for engine_data in engine_list: + engine = load_engine(engine_data) engines[engine.name] = engine diff --git a/searx/webapp.py b/searx/webapp.py index 8f02a034e..8a720fdc6 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -53,7 +53,7 @@ from flask_babel import Babel, gettext, format_date, format_decimal from flask.json import jsonify from searx import settings, searx_dir, searx_debug from searx.engines import ( - categories, engines, get_engines_stats, engine_shortcuts + categories, engines, engine_shortcuts, get_engines_stats, initialize_engines ) from searx.utils import ( UnicodeWriter, highlight_content, html_to_text, get_themes, @@ -765,6 +765,7 @@ def page_not_found(e): def run(): + initialize_engines(settings['engines']) app.run( debug=searx_debug, use_debugger=searx_debug,