mirror of
https://github.com/searxng/searxng.git
synced 2025-07-19 03:09:25 +02: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:
parent
f8d5fe0f11
commit
bfd24d1226
3 changed files with 3802 additions and 0 deletions
|
@ -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."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue