mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-31 02:27:06 -04: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
					
				| @ -14,6 +14,7 @@ __all__ = [ | ||||
|     'WIKIDATA_UNITS', | ||||
|     'EXTERNAL_BANGS', | ||||
|     'OSM_KEYS_TAGS', | ||||
|     'ENGINE_DESCRIPTIONS', | ||||
|     'ahmia_blacklist_loader', | ||||
| ] | ||||
| 
 | ||||
| @ -45,3 +46,4 @@ EXTERNAL_URLS = _load('external_urls.json') | ||||
| WIKIDATA_UNITS = _load('wikidata_units.json') | ||||
| EXTERNAL_BANGS = _load('external_bangs.json') | ||||
| OSM_KEYS_TAGS = _load('osm_keys_tags.json') | ||||
| ENGINE_DESCRIPTIONS = _load('engine_descriptions.json') | ||||
|  | ||||
							
								
								
									
										3782
									
								
								searx/data/engine_descriptions.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3782
									
								
								searx/data/engine_descriptions.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user