123456789101112131415161718192021222324252627282930313233343536373839 |
- # 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
|