summaryrefslogtreecommitdiff
path: root/searx/favicons/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/favicons/__init__.py')
-rw-r--r--searx/favicons/__init__.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/searx/favicons/__init__.py b/searx/favicons/__init__.py
new file mode 100644
index 000000000..2a9893932
--- /dev/null
+++ b/searx/favicons/__init__.py
@@ -0,0 +1,37 @@
+# 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
+
+ cfg_file = 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
+
+ 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