summaryrefslogtreecommitdiff
path: root/searx/plugins/hostnames.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2025-08-22 17:17:51 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2025-09-03 13:37:36 +0200
commit57b9673efb1b4fd18a3ac15e26da642201e2cd33 (patch)
tree79d3ecd365a1669a1109aa7e5dd3636bc1041d96 /searx/plugins/hostnames.py
parent09500459feffa414dc7a0601bdb164464a8b0454 (diff)
[mod] addition of various type hints / tbc
- pyright configuration [1]_ - stub files: types-lxml [2]_ - addition of various type hints - enable use of new type system features on older Python versions [3]_ - ``.tool-versions`` - set python to lowest version we support (3.10.18) [4]_: Older versions typically lack some typing features found in newer Python versions. Therefore, for local type checking (before commit), it is necessary to use the older Python interpreter. .. [1] https://docs.basedpyright.com/v1.20.0/configuration/config-files/ .. [2] https://pypi.org/project/types-lxml/ .. [3] https://typing-extensions.readthedocs.io/en/latest/# .. [4] https://mise.jdx.dev/configuration.html#tool-versions Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Format: reST
Diffstat (limited to 'searx/plugins/hostnames.py')
-rw-r--r--searx/plugins/hostnames.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/searx/plugins/hostnames.py b/searx/plugins/hostnames.py
index ac6da9226..a59496946 100644
--- a/searx/plugins/hostnames.py
+++ b/searx/plugins/hostnames.py
@@ -1,10 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# pylint: disable=too-many-branches, unused-argument
-"""
-
-During the initialization phase, the plugin checks whether a ``hostnames:``
-configuration exists. If this is not the case, the plugin is not included
-in the PluginStorage (it is not available for selection).
+"""During the initialization phase, the plugin checks whether a ``hostnames:``
+configuration exists. If this is not the case, the plugin is not included in the
+PluginStorage (it is not available for selection).
- ``hostnames.replace``: A **mapping** of regular expressions to hostnames to be
replaced by other hostnames.
@@ -82,13 +80,12 @@ something like this:
"""
-from __future__ import annotations
-import typing
+import typing as t
import re
from urllib.parse import urlunparse, urlparse
-from flask_babel import gettext
+from flask_babel import gettext # pyright: ignore[reportUnknownVariableType]
from searx import settings
from searx.result_types._base import MainResult, LegacyResult
@@ -97,14 +94,13 @@ from searx.plugins import Plugin, PluginInfo
from ._core import log
-if typing.TYPE_CHECKING:
+if t.TYPE_CHECKING:
import flask
from searx.search import SearchWithPlugins
from searx.extended_types import SXNG_Request
from searx.result_types import Result
from searx.plugins import PluginCfg
-
REPLACE: dict[re.Pattern, str] = {}
REMOVE: set = set()
HIGH: set = set()
@@ -125,7 +121,7 @@ class SXNGPlugin(Plugin):
preference_section="general",
)
- def on_result(self, request: "SXNG_Request", search: "SearchWithPlugins", result: Result) -> bool:
+ def on_result(self, request: "SXNG_Request", search: "SearchWithPlugins", result: "Result") -> bool:
for pattern in REMOVE:
if result.parsed_url and pattern.search(result.parsed_url.netloc):