From 57b9673efb1b4fd18a3ac15e26da642201e2cd33 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Fri, 22 Aug 2025 17:17:51 +0200 Subject: [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 Format: reST --- searx/plugins/hostnames.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'searx/plugins/hostnames.py') 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): -- cgit v1.2.3