|
@@ -54,6 +54,7 @@ from searx import (
|
|
|
settings,
|
|
|
searx_debug,
|
|
|
)
|
|
|
+from searx.data import ENGINE_DESCRIPTIONS
|
|
|
from searx.settings_defaults import OUTPUT_FORMATS
|
|
|
from searx.settings_loader import get_default_settings_path
|
|
|
from searx.exceptions import SearxParameterException
|
|
@@ -1140,6 +1141,23 @@ def image_proxy():
|
|
|
return '', 400
|
|
|
|
|
|
|
|
|
+@app.route('/engine_descriptions.json', methods=['GET'])
|
|
|
+def engine_descriptions():
|
|
|
+ locale = get_locale().split('_')[0]
|
|
|
+ result = ENGINE_DESCRIPTIONS['en'].copy()
|
|
|
+ if locale != 'en':
|
|
|
+ for engine, description in ENGINE_DESCRIPTIONS.get(locale, {}).items():
|
|
|
+ result[engine] = description
|
|
|
+ for engine, description in result.items():
|
|
|
+ if len(description) ==2 and description[1] == 'ref':
|
|
|
+ ref_engine, ref_lang = description[0].split(':')
|
|
|
+ description = ENGINE_DESCRIPTIONS[ref_lang][ref_engine]
|
|
|
+ if isinstance(description, str):
|
|
|
+ description = [ description, 'wikipedia' ]
|
|
|
+ result[engine] = description
|
|
|
+ return jsonify(result)
|
|
|
+
|
|
|
+
|
|
|
@app.route('/stats', methods=['GET'])
|
|
|
def stats():
|
|
|
"""Render engine statistics page."""
|