| 1234567891011121314151617181920212223242526272829303132333435363738 | # 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 pathlibfrom searx import loggerfrom searx import get_settingfrom .proxy import favicon_url, favicon_proxylogger = 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
 |