mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	make category order configurable using ui.categories_order
This commit is contained in:
		
							parent
							
								
									08fdfc73fb
								
							
						
					
					
						commit
						640da73a9e
					
				@ -24,6 +24,12 @@ ui:
 | 
			
		||||
    default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section
 | 
			
		||||
    theme_args :
 | 
			
		||||
        oscar_style : logicodev # default style of oscar
 | 
			
		||||
#   categories_order :
 | 
			
		||||
#     - general
 | 
			
		||||
#     - files
 | 
			
		||||
#     - map
 | 
			
		||||
#     - it
 | 
			
		||||
#     - science
 | 
			
		||||
 | 
			
		||||
# searx supports result proxification using an external service: https://github.com/asciimoo/morty
 | 
			
		||||
# uncomment below section if you have running morty proxy
 | 
			
		||||
 | 
			
		||||
@ -355,17 +355,12 @@ def render(template_name, override_theme=None, **kwargs):
 | 
			
		||||
                             if (engine_name, category) not in disabled_engines)
 | 
			
		||||
 | 
			
		||||
    if 'categories' not in kwargs:
 | 
			
		||||
        kwargs['categories'] = ['general']
 | 
			
		||||
        kwargs['categories'].extend(x for x in
 | 
			
		||||
                                    sorted(categories.keys())
 | 
			
		||||
                                    if x != 'general'
 | 
			
		||||
                                    and x in enabled_categories)
 | 
			
		||||
        kwargs['categories'] = [x for x in
 | 
			
		||||
                                _get_ordered_categories()
 | 
			
		||||
                                if x in enabled_categories]
 | 
			
		||||
 | 
			
		||||
    if 'all_categories' not in kwargs:
 | 
			
		||||
        kwargs['all_categories'] = ['general']
 | 
			
		||||
        kwargs['all_categories'].extend(x for x in
 | 
			
		||||
                                        sorted(categories.keys())
 | 
			
		||||
                                        if x != 'general')
 | 
			
		||||
        kwargs['all_categories'] = _get_ordered_categories()
 | 
			
		||||
 | 
			
		||||
    if 'selected_categories' not in kwargs:
 | 
			
		||||
        kwargs['selected_categories'] = []
 | 
			
		||||
@ -443,6 +438,17 @@ def render(template_name, override_theme=None, **kwargs):
 | 
			
		||||
        '{}/{}'.format(kwargs['theme'], template_name), **kwargs)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _get_ordered_categories():
 | 
			
		||||
    ordered_categories = []
 | 
			
		||||
    if 'categories_order' not in settings['ui']:
 | 
			
		||||
        ordered_categories = ['general']
 | 
			
		||||
        ordered_categories.extend(x for x in sorted(categories.keys()) if x != 'general')
 | 
			
		||||
        return ordered_categories
 | 
			
		||||
    ordered_categories = settings['ui']['categories_order']
 | 
			
		||||
    ordered_categories.extend(x for x in sorted(categories.keys()) if x not in ordered_categories)
 | 
			
		||||
    return ordered_categories
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@app.before_request
 | 
			
		||||
def pre_request():
 | 
			
		||||
    request.start_time = time()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user