The location of the local settings depends on environment ``SEARXNG_SETTINGS_PATH`` and can be different from ``/etc/searxng``. Issue was reported on Matrix [1]. To get the location function ``searx.settings_loader.get_user_cfg_folder()`` should be used. [1] https://matrix.to/#/!vxScbLNEAmRvOraXBn:matrix.org/$5xNMYvONGB-mPt2B3ttoL27QncRFhkjGkO-TISdmP08?via=matrix.org&via=tchncs.de&via=envs.net Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						|
"""Implementations for providing the favicons in SearXNG"""
 | 
						|
 | 
						|
from __future__ import annotations
 | 
						|
 | 
						|
__all__ = ["init", "favicon_url", "favicon_proxy"]
 | 
						|
 | 
						|
import pathlib
 | 
						|
from searx import logger
 | 
						|
from searx import get_setting
 | 
						|
from .proxy import favicon_url, favicon_proxy
 | 
						|
 | 
						|
logger = logger.getChild('favicons')
 | 
						|
 | 
						|
 | 
						|
def is_active():
 | 
						|
    return bool(get_setting("search.favicon_resolver", False))
 | 
						|
 | 
						|
 | 
						|
def init():
 | 
						|
 | 
						|
    # pylint: disable=import-outside-toplevel
 | 
						|
 | 
						|
    from . import config, cache, proxy
 | 
						|
    from .. import settings_loader
 | 
						|
 | 
						|
    cfg_file = (settings_loader.get_user_cfg_folder() or pathlib.Path("/etc/searxng")) / "favicons.toml"
 | 
						|
    if not cfg_file.exists():
 | 
						|
        if is_active():
 | 
						|
            logger.error(f"missing favicon config: {cfg_file}")
 | 
						|
        cfg_file = config.DEFAULT_CFG_TOML_PATH
 | 
						|
 | 
						|
    logger.debug(f"load favicon config: {cfg_file}")
 | 
						|
    cfg = config.FaviconConfig.from_toml_file(cfg_file, use_cache=True)
 | 
						|
    cache.init(cfg.cache)
 | 
						|
    proxy.init(cfg.proxy)
 | 
						|
 | 
						|
    del cache, config, proxy, cfg, settings_loader
 |