[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', |     'WIKIDATA_UNITS', | ||||||
|     'EXTERNAL_BANGS', |     'EXTERNAL_BANGS', | ||||||
|     'OSM_KEYS_TAGS', |     'OSM_KEYS_TAGS', | ||||||
|  |     'ENGINE_DESCRIPTIONS', | ||||||
|     'ahmia_blacklist_loader', |     'ahmia_blacklist_loader', | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| @ -45,3 +46,4 @@ EXTERNAL_URLS = _load('external_urls.json') | |||||||
| WIKIDATA_UNITS = _load('wikidata_units.json') | WIKIDATA_UNITS = _load('wikidata_units.json') | ||||||
| EXTERNAL_BANGS = _load('external_bangs.json') | EXTERNAL_BANGS = _load('external_bangs.json') | ||||||
| OSM_KEYS_TAGS = _load('osm_keys_tags.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, |     settings, | ||||||
|     searx_debug, |     searx_debug, | ||||||
| ) | ) | ||||||
|  | from searx.data import ENGINE_DESCRIPTIONS | ||||||
| from searx.settings_defaults import OUTPUT_FORMATS | from searx.settings_defaults import OUTPUT_FORMATS | ||||||
| from searx.settings_loader import get_default_settings_path | from searx.settings_loader import get_default_settings_path | ||||||
| from searx.exceptions import SearxParameterException | from searx.exceptions import SearxParameterException | ||||||
| @ -1140,6 +1141,23 @@ def image_proxy(): | |||||||
|         return '', 400 |         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']) | @app.route('/stats', methods=['GET']) | ||||||
| def stats(): | def stats(): | ||||||
|     """Render engine statistics page.""" |     """Render engine statistics page.""" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user