mirror of
https://github.com/searxng/searxng.git
synced 2025-12-22 19:50:00 +00:00
[mod] add /engine_descriptions.json endpoint
returns engine descriptions (JSON): * key: engine name * value: description in the user locale, use English description as a fallback
This commit is contained in:
@@ -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."""
|
||||
|
||||
Reference in New Issue
Block a user