summaryrefslogtreecommitdiff
path: root/searx/compat.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2024-08-19 17:47:54 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2024-10-05 08:18:28 +0200
commit7ab577a1fba43578b77f56b76275d0e65d03b318 (patch)
tree0179516d6d89aab77b542494b4e90b22d22cc9cf /searx/compat.py
parentc49a2707c1ba7122c250ba963a83d095441f4d59 (diff)
[mod] Revision of the favicon solution
All favicons implementations have been documented and moved to the Python package: searx.favicons There is a configuration (based on Pydantic) for the favicons and all its components: searx.favicons.config A solution for caching favicons has been implemented: searx.favicon.cache If the favicon is already in the cache, the returned URL is a data URL [1] (something like `data:image/png;base64,...`). By generating a data url from the FaviconCache, additional HTTP roundtripps via the favicon_proxy are saved: favicons.proxy.favicon_url The favicon proxy service now sets a HTTP header "Cache-Control: max-age=...": favicons.proxy.favicon_proxy The resolvers now also provide the mime type (data, mime): searx.favicon.resolvers [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/compat.py')
-rw-r--r--searx/compat.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/searx/compat.py b/searx/compat.py
new file mode 100644
index 000000000..035726469
--- /dev/null
+++ b/searx/compat.py
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+"""Compatibility with older versions"""
+
+# pylint: disable=unused-import
+
+__all__ = [
+ "tomllib",
+]
+
+import sys
+
+# TOML (lib) compatibility
+# ------------------------
+
+if sys.version_info >= (3, 11):
+ import tomllib
+else:
+ import tomli as tomllib