summaryrefslogtreecommitdiff
path: root/searx/plugins/_core.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/_core.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/_core.py')
-rw-r--r--searx/plugins/_core.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/searx/plugins/_core.py b/searx/plugins/_core.py
index bb1f813d3..9b194a9eb 100644
--- a/searx/plugins/_core.py
+++ b/searx/plugins/_core.py
@@ -11,6 +11,7 @@ import inspect
import logging
import re
import typing
+from collections.abc import Sequence
from dataclasses import dataclass, field
@@ -89,7 +90,7 @@ class Plugin(abc.ABC):
fqn: str = ""
- def __init__(self, plg_cfg: PluginCfg) -> None:
+ def __init__(self, plg_cfg: "PluginCfg") -> None:
super().__init__()
if not self.fqn:
self.fqn = self.__class__.__mro__[0].__module__
@@ -120,7 +121,7 @@ class Plugin(abc.ABC):
return id(self)
- def __eq__(self, other):
+ def __eq__(self, other: typing.Any):
"""py:obj:`Plugin` objects are equal if the hash values of the two
objects are equal."""
@@ -166,7 +167,7 @@ class Plugin(abc.ABC):
"""
return True
- def post_search(self, request: SXNG_Request, search: "SearchWithPlugins") -> None | typing.Sequence[Result]:
+ def post_search(self, request: SXNG_Request, search: "SearchWithPlugins") -> None | Sequence[Result]:
"""Runs AFTER the search request. Can return a list of
:py:obj:`Result <searx.result_types._base.Result>` objects to be added to the
final result list."""
@@ -207,7 +208,7 @@ class PluginStorage:
return [p.info for p in self.plugin_list]
- def load_settings(self, cfg: dict[str, dict]):
+ def load_settings(self, cfg: dict[str, dict[str, typing.Any]]):
"""Load plugins configured in SearXNG's settings :ref:`settings
plugins`."""