From 401d7f9f51b5c8448f7e3fc47db5cabd76f6bc53 Mon Sep 17 00:00:00 2001 From: Ivan Gabaldon Date: Tue, 1 Sep 2026 21:46:00 +0200 Subject: [PATCH] fmt --- searx/_settings.py | 1 + searx/answerers/__init__.py | 1 - searx/answerers/_core.py | 1 - searx/botdetection/__init__.py | 1 - searx/botdetection/config.py | 2 +- searx/botdetection/http_accept.py | 1 - searx/botdetection/http_accept_encoding.py | 1 - searx/botdetection/http_accept_language.py | 1 - searx/botdetection/http_connection.py | 1 - searx/botdetection/http_sec_fetch.py | 1 + searx/botdetection/http_user_agent.py | 2 -- searx/botdetection/ip_limit.py | 1 - searx/botdetection/ip_lists.py | 1 + searx/botdetection/trusted_proxies.py | 1 + searx/botdetection/valkeydb.py | 1 - searx/brand.py | 1 + searx/cache.py | 2 +- searx/compat.py | 1 - searx/data/__init__.py | 1 + searx/data/tracker_patterns.py | 1 + searx/engines/azure.py | 1 + searx/engines/base.py | 1 + searx/engines/command.py | 1 - searx/engines/docker_hub.py | 1 + searx/engines/duckduckgo.py | 1 + searx/engines/duckduckgo_definitions.py | 1 + searx/engines/duckduckgo_weather.py | 1 - searx/engines/dummy-offline.py | 1 - searx/engines/github_code.py | 1 - searx/engines/hex.py | 1 - searx/engines/jisho.py | 6 ++---- searx/engines/mongodb.py | 1 - searx/engines/npm.py | 1 - searx/engines/open_meteo.py | 1 - searx/engines/openverse.py | 1 - searx/engines/pexels.py | 1 - searx/engines/piped.py | 1 - searx/engines/privacywall.py | 1 - searx/engines/recoll.py | 1 + searx/engines/solr.py | 1 - searx/engines/soundcloud.py | 2 +- searx/engines/sqlite.py | 1 + searx/engines/startpage.py | 1 + searx/engines/tubearchivist.py | 1 - searx/engines/vuhuv.py | 1 - searx/engines/wikidata.py | 1 + searx/engines/wolframalpha_noapi.py | 3 +-- searx/engines/yacy.py | 1 + searx/engines/yandex.py | 1 - searx/extended_types.py | 1 + searx/external_urls.py | 1 - searx/favicons/__init__.py | 1 - searx/favicons/proxy.py | 1 - searx/favicons/resolvers.py | 1 - searx/infopage/__init__.py | 1 - searx/locales.py | 1 - searx/metrics/error_recorder.py | 1 - searx/metrics/models.py | 1 - searx/network/network.py | 1 - searx/plugins/__init__.py | 1 - searx/plugins/tor_check.py | 1 + searx/plugins/unit_converter.py | 1 + searx/result_types/__init__.py | 1 + searx/result_types/answer.py | 1 + searx/result_types/code.py | 2 +- searx/result_types/file.py | 1 + searx/result_types/image.py | 1 + searx/result_types/keyvalue.py | 1 + searx/result_types/paper.py | 1 + searx/searxng.msg | 1 - searx/settings_defaults.py | 1 + searx/weather.py | 1 + searx/webapp.py | 10 +++------- searx/wikidata.py | 1 - searx/wikidata_properties.py | 16 ++++------------ searxng_extra/update/update_ahmia_blacklist.py | 1 + searxng_extra/update/update_engine_traits.py | 1 + searxng_extra/update/update_firefox_version.py | 1 + searxng_extra/update/update_locales.py | 1 + searxng_extra/update/update_pygments.py | 1 + tests/__init__.py | 1 - tests/unit/test_external_bangs.py | 1 - tests/unit/test_js_variable_to_python.py | 1 + tests/unit/test_preferences.py | 1 - tests/unit/test_search.py | 1 - 85 files changed, 48 insertions(+), 73 deletions(-) diff --git a/searx/_settings.py b/searx/_settings.py index 0db62474c..dd9b0c774 100644 --- a/searx/_settings.py +++ b/searx/_settings.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Implementation of the :py:obj:`preference ` settings.""" + # pylint: disable = too-few-public-methods import typing as t diff --git a/searx/answerers/__init__.py b/searx/answerers/__init__.py index 7c8c8003f..292966d22 100644 --- a/searx/answerers/__init__.py +++ b/searx/answerers/__init__.py @@ -38,7 +38,6 @@ area: """ - __all__ = ["AnswererInfo", "Answerer", "AnswerStorage"] diff --git a/searx/answerers/_core.py b/searx/answerers/_core.py index c102be125..558ab9f30 100644 --- a/searx/answerers/_core.py +++ b/searx/answerers/_core.py @@ -13,7 +13,6 @@ from dataclasses import dataclass from searx.utils import load_module from searx.result_types.answer import BaseAnswer - _default = pathlib.Path(__file__).parent log: logging.Logger = logging.getLogger("searx.answerers") diff --git a/searx/botdetection/__init__.py b/searx/botdetection/__init__.py index 5799b0f10..4e5151008 100644 --- a/searx/botdetection/__init__.py +++ b/searx/botdetection/__init__.py @@ -5,7 +5,6 @@ Implementations used for bot detection. """ - __all__ = ["init", "dump_request", "get_network", "too_many_requests", "ProxyFix"] diff --git a/searx/botdetection/config.py b/searx/botdetection/config.py index 418d76a46..f2ec4750c 100644 --- a/searx/botdetection/config.py +++ b/searx/botdetection/config.py @@ -182,7 +182,7 @@ class Config: if default is UNSET: raise KeyError(name) return default - (modulename, name) = str(fqn).rsplit('.', 1) + modulename, name = str(fqn).rsplit('.', 1) m = __import__(modulename, {}, {}, [name], 0) return getattr(m, name) diff --git a/searx/botdetection/http_accept.py b/searx/botdetection/http_accept.py index 1ae34d358..df462fd4a 100644 --- a/searx/botdetection/http_accept.py +++ b/searx/botdetection/http_accept.py @@ -13,7 +13,6 @@ Accept_ header .. """ - from ipaddress import ( IPv4Network, IPv6Network, diff --git a/searx/botdetection/http_accept_encoding.py b/searx/botdetection/http_accept_encoding.py index 918490ce5..59aa9cad2 100644 --- a/searx/botdetection/http_accept_encoding.py +++ b/searx/botdetection/http_accept_encoding.py @@ -14,7 +14,6 @@ bot if the Accept-Encoding_ header .. """ - from ipaddress import ( IPv4Network, IPv6Network, diff --git a/searx/botdetection/http_accept_language.py b/searx/botdetection/http_accept_language.py index 626ed6b0e..e18ff2978 100644 --- a/searx/botdetection/http_accept_language.py +++ b/searx/botdetection/http_accept_language.py @@ -11,7 +11,6 @@ if the Accept-Language_ header is unset. """ - from ipaddress import ( IPv4Network, IPv6Network, diff --git a/searx/botdetection/http_connection.py b/searx/botdetection/http_connection.py index 0b7d9ae76..854a7ef8b 100644 --- a/searx/botdetection/http_connection.py +++ b/searx/botdetection/http_connection.py @@ -11,7 +11,6 @@ the Connection_ header is set to ``close``. """ - from ipaddress import ( IPv4Network, IPv6Network, diff --git a/searx/botdetection/http_sec_fetch.py b/searx/botdetection/http_sec_fetch.py index c1ea7333f..90da0b595 100644 --- a/searx/botdetection/http_sec_fetch.py +++ b/searx/botdetection/http_sec_fetch.py @@ -20,6 +20,7 @@ Metadata`_. A request is filtered out in case of: """ + # pylint: disable=unused-argument diff --git a/searx/botdetection/http_user_agent.py b/searx/botdetection/http_user_agent.py index 76d2558ce..c65cb2aa5 100644 --- a/searx/botdetection/http_user_agent.py +++ b/searx/botdetection/http_user_agent.py @@ -12,7 +12,6 @@ the User-Agent_ header is unset or matches the regular expression """ - import re from ipaddress import ( IPv4Network, @@ -25,7 +24,6 @@ import flask from . import config from ._helpers import too_many_requests - USER_AGENT = ( r'(' + r'unknown' diff --git a/searx/botdetection/ip_limit.py b/searx/botdetection/ip_limit.py index b2559a97b..abad65039 100644 --- a/searx/botdetection/ip_limit.py +++ b/searx/botdetection/ip_limit.py @@ -55,7 +55,6 @@ from ._helpers import ( logger, ) - logger = logger.getChild('ip_limit') BURST_WINDOW = 20 diff --git a/searx/botdetection/ip_lists.py b/searx/botdetection/ip_lists.py index 19f0e3667..2072f859f 100644 --- a/searx/botdetection/ip_lists.py +++ b/searx/botdetection/ip_lists.py @@ -23,6 +23,7 @@ The ``ip_lists`` method implements :py:obj:`block-list ` and ] """ + # pylint: disable=unused-argument diff --git a/searx/botdetection/trusted_proxies.py b/searx/botdetection/trusted_proxies.py index 1e4c68837..bf0f23b62 100644 --- a/searx/botdetection/trusted_proxies.py +++ b/searx/botdetection/trusted_proxies.py @@ -1,6 +1,7 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Implementation of a middleware to determine the real IP of an HTTP request (:py:obj:`flask.request.remote_addr`) behind a proxy chain.""" + # pylint: disable=too-many-branches diff --git a/searx/botdetection/valkeydb.py b/searx/botdetection/valkeydb.py index 44f265803..9041064e5 100644 --- a/searx/botdetection/valkeydb.py +++ b/searx/botdetection/valkeydb.py @@ -1,7 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Providing a Valkey database for the botdetection methods.""" - import valkey __all__ = ["set_valkey_client", "get_valkey_client"] diff --git a/searx/brand.py b/searx/brand.py index dcd1dd9ed..85596a844 100644 --- a/searx/brand.py +++ b/searx/brand.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Implementations needed for a branding of SearXNG.""" + # pylint: disable=too-few-public-methods # Struct fields aren't discovered in Python 3.14 diff --git a/searx/cache.py b/searx/cache.py index 93304f150..7bef21956 100644 --- a/searx/cache.py +++ b/searx/cache.py @@ -465,7 +465,7 @@ class ExpireCacheSQLite(sqlitedb.SQLiteAppl, ExpireCache): # Check if value is expired. It's possible that it's expired but has not # yet been automatically deleted by the periodic maintenance - (value, expire) = row + value, expire = row now = time.time() if expire < now: # The record is deleted during the maintenance interval. Deleting diff --git a/searx/compat.py b/searx/compat.py index 418d537ca..067a9fb91 100644 --- a/searx/compat.py +++ b/searx/compat.py @@ -3,7 +3,6 @@ import warnings - # limiter backward compatibility # ------------------------------ diff --git a/searx/data/__init__.py b/searx/data/__init__.py index ff423622a..ec9177251 100644 --- a/searx/data/__init__.py +++ b/searx/data/__init__.py @@ -4,6 +4,7 @@ make data.all """ + # pylint: disable=invalid-name __all__ = ["ahmia_blacklist_loader", "data_dir", "get_cache"] diff --git a/searx/data/tracker_patterns.py b/searx/data/tracker_patterns.py index ed4415bce..fb60bf690 100644 --- a/searx/data/tracker_patterns.py +++ b/searx/data/tracker_patterns.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Simple implementation to store TrackerPatterns data in a SQL database.""" + # pylint: disable=too-many-branches import typing as t diff --git a/searx/engines/azure.py b/searx/engines/azure.py index e00d75872..c4e63eb9e 100644 --- a/searx/engines/azure.py +++ b/searx/engines/azure.py @@ -25,6 +25,7 @@ To use this engine, add an entry similar to the following to your engine list in https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app """ + import typing as t from searx.enginelib import EngineCache diff --git a/searx/engines/base.py b/searx/engines/base.py index d0f0bfde3..212b4e896 100755 --- a/searx/engines/base.py +++ b/searx/engines/base.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """BASE (Scholar publications)""" + from datetime import datetime import re diff --git a/searx/engines/command.py b/searx/engines/command.py index 29950ae4e..2795c3330 100644 --- a/searx/engines/command.py +++ b/searx/engines/command.py @@ -83,7 +83,6 @@ from threading import Thread from searx import logger from searx.result_types import EngineResults - engine_type = 'offline' paging = True command = [] diff --git a/searx/engines/docker_hub.py b/searx/engines/docker_hub.py index dc1d1ddfa..cbb653346 100644 --- a/searx/engines/docker_hub.py +++ b/searx/engines/docker_hub.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Docker Hub (IT)""" + # pylint: disable=use-dict-literal from urllib.parse import urlencode diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py index e2801d7e6..b32e0ed77 100644 --- a/searx/engines/duckduckgo.py +++ b/searx/engines/duckduckgo.py @@ -164,6 +164,7 @@ Terms / phrases that you keep coming across: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Language """ + # pylint: disable=global-statement import json diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py index bf2168827..ecb20fe0e 100644 --- a/searx/engines/duckduckgo_definitions.py +++ b/searx/engines/duckduckgo_definitions.py @@ -12,6 +12,7 @@ least we could not find out how language support should work. It seems that most of the features are based on English terms. """ + import typing as t from urllib.parse import urlencode, urlparse, urljoin diff --git a/searx/engines/duckduckgo_weather.py b/searx/engines/duckduckgo_weather.py index 070d09d85..7a0956b67 100644 --- a/searx/engines/duckduckgo_weather.py +++ b/searx/engines/duckduckgo_weather.py @@ -17,7 +17,6 @@ from searx.result_types import EngineResults from searx.extended_types import SXNG_Response from searx import weather - about = { "website": 'https://duckduckgo.com/', "wikidata_id": 'Q12805', diff --git a/searx/engines/dummy-offline.py b/searx/engines/dummy-offline.py index 4e9d8b202..c3d6baac5 100644 --- a/searx/engines/dummy-offline.py +++ b/searx/engines/dummy-offline.py @@ -2,7 +2,6 @@ # pylint: disable=invalid-name """Dummy Offline""" - # about about = { "wikidata_id": None, diff --git a/searx/engines/github_code.py b/searx/engines/github_code.py index 0a2d26699..73a112de0 100644 --- a/searx/engines/github_code.py +++ b/searx/engines/github_code.py @@ -65,7 +65,6 @@ code lines are just relabeled (starting from 1) and appended (a disjoint set of code blocks in a single file might be returned from the API). """ - import typing as t from urllib.parse import urlencode diff --git a/searx/engines/hex.py b/searx/engines/hex.py index 4c4920f68..6a546889a 100644 --- a/searx/engines/hex.py +++ b/searx/engines/hex.py @@ -4,7 +4,6 @@ from urllib.parse import urlencode from dateutil import parser - about = { # pylint: disable=line-too-long "website": "https://hex.pm/", diff --git a/searx/engines/jisho.py b/searx/engines/jisho.py index b167d864a..ae9b0103c 100644 --- a/searx/engines/jisho.py +++ b/searx/engines/jisho.py @@ -108,14 +108,12 @@ def get_infobox(alt_forms, result_url, definitions): infobox_content.append(f'

Other forms: {", ".join(alt_forms[1:])}

') # definitions - infobox_content.append( - ''' + infobox_content.append(''' JMdict and JMnedict by EDRDG, CC BY-SA 3.0.
    - ''' - ) + ''') for pos, engdef, extra in definitions: if pos == 'Wikipedia definition': infobox_content.append('
Wikipedia, CC BY-SA 3.0.
    ') diff --git a/searx/engines/mongodb.py b/searx/engines/mongodb.py index 8c3f18bfa..7194fb4b4 100644 --- a/searx/engines/mongodb.py +++ b/searx/engines/mongodb.py @@ -49,7 +49,6 @@ except ImportError: from searx.result_types import EngineResults - engine_type = 'offline' # mongodb connection variables diff --git a/searx/engines/npm.py b/searx/engines/npm.py index c2d4284d1..e6640be27 100644 --- a/searx/engines/npm.py +++ b/searx/engines/npm.py @@ -4,7 +4,6 @@ from urllib.parse import urlencode from dateutil import parser - about = { "website": "https://npms.io/", "wikidata_id": "Q7067518", diff --git a/searx/engines/open_meteo.py b/searx/engines/open_meteo.py index 948996b3c..c3960862f 100644 --- a/searx/engines/open_meteo.py +++ b/searx/engines/open_meteo.py @@ -9,7 +9,6 @@ from datetime import datetime from searx.result_types import EngineResults, WeatherAnswer from searx import weather - about = { "website": "https://open-meteo.com", "wikidata_id": None, diff --git a/searx/engines/openverse.py b/searx/engines/openverse.py index 4aa1070a8..b4128713e 100644 --- a/searx/engines/openverse.py +++ b/searx/engines/openverse.py @@ -8,7 +8,6 @@ Openverse (formerly known as: Creative Commons search engine) [Images] from json import loads from urllib.parse import urlencode - about = { "website": 'https://openverse.org/', "wikidata_id": None, diff --git a/searx/engines/pexels.py b/searx/engines/pexels.py index d25e5903e..f5b81d4e8 100644 --- a/searx/engines/pexels.py +++ b/searx/engines/pexels.py @@ -12,7 +12,6 @@ from searx.enginelib import EngineCache from searx.exceptions import SearxEngineAPIException, SearxEngineAccessDeniedException from searx.network import get - # about about = { "website": 'https://www.pexels.com', diff --git a/searx/engines/piped.py b/searx/engines/piped.py index 249540c38..f6bf7581f 100644 --- a/searx/engines/piped.py +++ b/searx/engines/piped.py @@ -48,7 +48,6 @@ Implementations """ - import time import random from urllib.parse import urlencode diff --git a/searx/engines/privacywall.py b/searx/engines/privacywall.py index ac492d71a..1670afc74 100644 --- a/searx/engines/privacywall.py +++ b/searx/engines/privacywall.py @@ -18,7 +18,6 @@ from searx.utils import eval_xpath_list, eval_xpath, extract_text, get_embeded_s from searx.locales import region_tag from searx.result_types import EngineResults - if t.TYPE_CHECKING: from lxml.etree import ElementBase from searx.extended_types import SXNG_Response diff --git a/searx/engines/recoll.py b/searx/engines/recoll.py index d58f60b2c..8cdd9222d 100644 --- a/searx/engines/recoll.py +++ b/searx/engines/recoll.py @@ -35,6 +35,7 @@ Implementations =============== """ + import typing as t from datetime import date, timedelta diff --git a/searx/engines/solr.py b/searx/engines/solr.py index b23cbe92e..3ae123260 100644 --- a/searx/engines/solr.py +++ b/searx/engines/solr.py @@ -34,7 +34,6 @@ from searx.exceptions import SearxEngineAPIException from searx.result_types import EngineResults from searx.extended_types import SXNG_Response - base_url = 'http://localhost:8983' collection = '' rows = 10 diff --git a/searx/engines/soundcloud.py b/searx/engines/soundcloud.py index b3819807d..7068c6df9 100644 --- a/searx/engines/soundcloud.py +++ b/searx/engines/soundcloud.py @@ -117,7 +117,7 @@ def response(resp): def init(engine_settings): # pylint: disable=unused-argument global CACHE # pylint: disable=global-statement - CACHE = EngineCache(engine_settings["name"]) # type:ignore + CACHE = EngineCache(engine_settings["name"]) # type: ignore def get_client_id() -> str | None: diff --git a/searx/engines/sqlite.py b/searx/engines/sqlite.py index 45649cdc4..cf7b20f18 100644 --- a/searx/engines/sqlite.py +++ b/searx/engines/sqlite.py @@ -44,6 +44,7 @@ Implementations =============== """ + import typing as t import sqlite3 import contextlib diff --git a/searx/engines/startpage.py b/searx/engines/startpage.py index b04d1e25b..a59ed7ad6 100644 --- a/searx/engines/startpage.py +++ b/searx/engines/startpage.py @@ -82,6 +82,7 @@ Startpage's category (for Web-search, News, Videos, ..) is set by Supported categories are ``web``, ``news`` and ``images``. """ + # pylint: disable=too-many-statements import re diff --git a/searx/engines/tubearchivist.py b/searx/engines/tubearchivist.py index 614e7f6d8..ff1abf2fc 100644 --- a/searx/engines/tubearchivist.py +++ b/searx/engines/tubearchivist.py @@ -74,7 +74,6 @@ Implementations =============== """ - from urllib.parse import urlencode from dateutil.parser import parse from searx.utils import html_to_text, humanize_number diff --git a/searx/engines/vuhuv.py b/searx/engines/vuhuv.py index b602305b6..8a267cb75 100644 --- a/searx/engines/vuhuv.py +++ b/searx/engines/vuhuv.py @@ -12,7 +12,6 @@ from lxml import html from searx.result_types import EngineResults from searx.utils import eval_xpath_list, eval_xpath, extract_text - if t.TYPE_CHECKING: from lxml.etree import ElementBase from searx.extended_types import SXNG_Response diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py index 6b8181eb4..5662dc6db 100644 --- a/searx/engines/wikidata.py +++ b/searx/engines/wikidata.py @@ -3,6 +3,7 @@ Some implementations are shared from :ref:`wikipedia engine`. """ + # pylint: disable=missing-class-docstring import typing as t diff --git a/searx/engines/wolframalpha_noapi.py b/searx/engines/wolframalpha_noapi.py index c001b5c06..c79cbc745 100644 --- a/searx/engines/wolframalpha_noapi.py +++ b/searx/engines/wolframalpha_noapi.py @@ -3,7 +3,6 @@ Wolfram|Alpha (Science) """ - from json import loads from urllib.parse import urlencode @@ -53,7 +52,7 @@ seconds.""" def init(engine_settings): global CACHE # pylint: disable=global-statement - CACHE = EngineCache(engine_settings["name"]) # type:ignore + CACHE = EngineCache(engine_settings["name"]) # type: ignore def obtain_token() -> str: diff --git a/searx/engines/yacy.py b/searx/engines/yacy.py index 91d7f3a61..1e7bc01e6 100644 --- a/searx/engines/yacy.py +++ b/searx/engines/yacy.py @@ -50,6 +50,7 @@ the engine). Implementations =============== """ + # pylint: disable=fixme diff --git a/searx/engines/yandex.py b/searx/engines/yandex.py index 5e963475b..d2c704eff 100644 --- a/searx/engines/yandex.py +++ b/searx/engines/yandex.py @@ -8,7 +8,6 @@ from lxml import html from searx.exceptions import SearxEngineCaptchaException from searx.utils import humanize_bytes, eval_xpath, eval_xpath_list, extract_text, extr - # Engine metadata about = { "website": 'https://yandex.com/', diff --git a/searx/extended_types.py b/searx/extended_types.py index e30e46536..bbbd474f3 100644 --- a/searx/extended_types.py +++ b/searx/extended_types.py @@ -19,6 +19,7 @@ :members: """ + # pylint: disable=invalid-name __all__ = ["SXNG_Request", "sxng_request", "SXNG_Response"] diff --git a/searx/external_urls.py b/searx/external_urls.py index d834ac5bb..bff940331 100644 --- a/searx/external_urls.py +++ b/searx/external_urls.py @@ -5,7 +5,6 @@ import math from searx.data import EXTERNAL_URLS - IMDB_PREFIX_TO_URL_ID = { 'tt': 'imdb_title', 'mn': 'imdb_name', diff --git a/searx/favicons/__init__.py b/searx/favicons/__init__.py index 921cda6a3..41c6b3b9c 100644 --- a/searx/favicons/__init__.py +++ b/searx/favicons/__init__.py @@ -8,7 +8,6 @@ an example in which the command line is called in the development environment:: (py3) python -m searx.favicons --help """ - __all__ = ["init", "favicon_url", "favicon_proxy"] import pathlib diff --git a/searx/favicons/proxy.py b/searx/favicons/proxy.py index 1346d19b0..9e48dd5ae 100644 --- a/searx/favicons/proxy.py +++ b/searx/favicons/proxy.py @@ -1,7 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Implementations for a favicon proxy""" - from typing import Callable import importlib diff --git a/searx/favicons/resolvers.py b/searx/favicons/resolvers.py index 8007330b3..81b5b023f 100644 --- a/searx/favicons/resolvers.py +++ b/searx/favicons/resolvers.py @@ -6,7 +6,6 @@ timeout``) and returns a tuple ``(data, mime)``. """ - __all__ = ["DEFAULT_RESOLVER_MAP", "allesedv", "duckduckgo", "google", "kagi", "yandex"] from typing import Callable diff --git a/searx/infopage/__init__.py b/searx/infopage/__init__.py index 2765edf3a..62458cd80 100644 --- a/searx/infopage/__init__.py +++ b/searx/infopage/__init__.py @@ -36,7 +36,6 @@ from .. import get_setting from ..version import GIT_URL from ..locales import LOCALE_NAMES - logger = logging.getLogger('searx.infopage') _INFO_FOLDER = os.path.abspath(os.path.dirname(__file__)) INFO_PAGES: 'InfoPageSet' diff --git a/searx/locales.py b/searx/locales.py index 71bf4f23a..aa3ca60ed 100644 --- a/searx/locales.py +++ b/searx/locales.py @@ -26,7 +26,6 @@ SearXNG’s locale implementations ================================ """ - import typing as t from pathlib import Path diff --git a/searx/metrics/error_recorder.py b/searx/metrics/error_recorder.py index c0666383d..487e6eea4 100644 --- a/searx/metrics/error_recorder.py +++ b/searx/metrics/error_recorder.py @@ -16,7 +16,6 @@ from searx.exceptions import ( from searx import searx_parent_dir, settings from searx.engines import engines - errors_per_engines: dict[str, t.Any] = {} LogParametersType = tuple[str, ...] diff --git a/searx/metrics/models.py b/searx/metrics/models.py index 3061e9ac8..07dd5380c 100644 --- a/searx/metrics/models.py +++ b/searx/metrics/models.py @@ -8,7 +8,6 @@ import threading from searx import logger - __all__ = ["Histogram", "HistogramStorage", "CounterStorage"] logger = logger.getChild('searx.metrics') diff --git a/searx/network/network.py b/searx/network/network.py index eb53afb7f..7c2bfa2ef 100644 --- a/searx/network/network.py +++ b/searx/network/network.py @@ -20,7 +20,6 @@ from searx.extended_types import SXNG_Response from .client import new_client, get_loop, AsyncHTTPTransportNoHttp from .raise_for_httperror import raise_for_httperror - logger = logger.getChild('network') DEFAULT_NAME = '__DEFAULT__' NETWORKS: dict[str, "Network"] = {} diff --git a/searx/plugins/__init__.py b/searx/plugins/__init__.py index 0779f8db1..ed39c2459 100644 --- a/searx/plugins/__init__.py +++ b/searx/plugins/__init__.py @@ -94,7 +94,6 @@ Implementation :members: """ - __all__ = ["PluginInfo", "Plugin", "PluginStorage", "PluginCfg"] diff --git a/searx/plugins/tor_check.py b/searx/plugins/tor_check.py index a3d6e17a7..ff0641322 100644 --- a/searx/plugins/tor_check.py +++ b/searx/plugins/tor_check.py @@ -4,6 +4,7 @@ user searches for ``tor-check``. It fetches the tor exit node list from :py:obj:`url_exit_list` and parses all the IPs into a list, then checks if the user's IP address is in it. """ + from ipaddress import ip_address import typing diff --git a/searx/plugins/unit_converter.py b/searx/plugins/unit_converter.py index 0a698bf64..3a91a8ec6 100644 --- a/searx/plugins/unit_converter.py +++ b/searx/plugins/unit_converter.py @@ -8,6 +8,7 @@ converters, each converter is one item in the list (compare of measurement are evaluated. The weighting in the evaluation results from the sorting of the :py:obj:`list of unit converters`. """ + import typing import re import babel.numbers diff --git a/searx/result_types/__init__.py b/searx/result_types/__init__.py index 2ea989149..f5640a80c 100644 --- a/searx/result_types/__init__.py +++ b/searx/result_types/__init__.py @@ -9,6 +9,7 @@ gradually. For more, please read :ref:`result types`. """ + # pylint: disable=too-few-public-methods diff --git a/searx/result_types/answer.py b/searx/result_types/answer.py index 1a24f12f1..eba07bb58 100644 --- a/searx/result_types/answer.py +++ b/searx/result_types/answer.py @@ -26,6 +26,7 @@ template. :members: :show-inheritance: """ + # pylint: disable=too-few-public-methods diff --git a/searx/result_types/code.py b/searx/result_types/code.py index d6dec104e..2813b62f7 100644 --- a/searx/result_types/code.py +++ b/searx/result_types/code.py @@ -12,6 +12,7 @@ template. For highlighting the code passages, Pygments_ is used. :show-inheritance: """ + # pylint: disable=too-few-public-methods, disable=invalid-name __all__ = ["Code"] @@ -26,7 +27,6 @@ from pygments.formatters import HtmlFormatter # pylint: disable=no-name-in-modu from ._base import MainResult - _pygments_languages: list[str] = [] diff --git a/searx/result_types/file.py b/searx/result_types/file.py index 5b58116c2..c973998a1 100644 --- a/searx/result_types/file.py +++ b/searx/result_types/file.py @@ -11,6 +11,7 @@ template. :show-inheritance: """ + # pylint: disable=too-few-public-methods diff --git a/searx/result_types/image.py b/searx/result_types/image.py index d75498de9..5a6cc623f 100644 --- a/searx/result_types/image.py +++ b/searx/result_types/image.py @@ -11,6 +11,7 @@ template. :members: """ + # pylint: disable=too-few-public-methods __all__ = ["Image", "ImageRef"] diff --git a/searx/result_types/keyvalue.py b/searx/result_types/keyvalue.py index 33718e7c2..1d70de258 100644 --- a/searx/result_types/keyvalue.py +++ b/searx/result_types/keyvalue.py @@ -11,6 +11,7 @@ template. :show-inheritance: """ + # pylint: disable=too-few-public-methods diff --git a/searx/result_types/paper.py b/searx/result_types/paper.py index 6cad4c2f8..b98d7d65a 100644 --- a/searx/result_types/paper.py +++ b/searx/result_types/paper.py @@ -19,6 +19,7 @@ Related topics: :show-inheritance: """ + # pylint: disable=too-few-public-methods, disable=invalid-name __all__ = ["Paper"] diff --git a/searx/searxng.msg b/searx/searxng.msg index 1ca29a51c..beb900898 100644 --- a/searx/searxng.msg +++ b/searx/searxng.msg @@ -8,7 +8,6 @@ from searx import webutils from searx import engines from searx.weather import WeatherConditionType - __all__ = [ 'CONSTANT_NAMES', 'CATEGORY_NAMES', diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py index 5fed08b68..ca19b051f 100644 --- a/searx/settings_defaults.py +++ b/searx/settings_defaults.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Implementation of the default settings.""" + from __future__ import annotations import typing as t diff --git a/searx/weather.py b/searx/weather.py index a5832410d..94327df76 100644 --- a/searx/weather.py +++ b/searx/weather.py @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-or-later """Implementations used for weather conditions and forecast.""" + # pylint: disable=too-few-public-methods __all__ = [ diff --git a/searx/webapp.py b/searx/webapp.py index b59bcdc7e..dd2c17fac 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # SPDX-License-Identifier: AGPL-3.0-or-later """WebApp""" + # pylint: disable=use-dict-literal import json @@ -118,7 +119,6 @@ from searx.sxng_locales import sxng_locales import searx.search from searx.network import stream as http_stream, set_context_network_name - logger = logger.getChild('webapp') warnings.simplefilter("always") @@ -1119,17 +1119,13 @@ def stats(): technical_report = [] for error in engine_reliabilities.get(selected_engine_name, {}).get('errors', []): - technical_report.append( - f"\ + technical_report.append(f"\ Error: {error['exception_classname'] or error['log_message']} \ Parameters: {error['log_parameters']} \ File name: {error['filename'] }:{ error['line_no'] } \ Error Function: {error['function']} \ Code: {error['code']} \ - ".replace( - ' ' * 12, '' - ).strip() - ) + ".replace(' ' * 12, '').strip()) technical_report = ' '.join(technical_report) engine_stats['time'] = sorted(engine_stats['time'], reverse=reverse, key=get_key) diff --git a/searx/wikidata.py b/searx/wikidata.py index defb2a0bb..96f550a44 100644 --- a/searx/wikidata.py +++ b/searx/wikidata.py @@ -7,7 +7,6 @@ from urllib.parse import urlencode from searx.network import get, post from searx.utils import gen_useragent - # SPARQL SPARQL_ENDPOINT_URL = "https://query.wikidata.org/sparql" SPARQL_EXPLAIN_URL = "https://query.wikidata.org/bigdata/namespace/wdq/sparql?explain" diff --git a/searx/wikidata_properties.py b/searx/wikidata_properties.py index 81b5df498..80d2da648 100644 --- a/searx/wikidata_properties.py +++ b/searx/wikidata_properties.py @@ -93,9 +93,7 @@ class WDAmountAttribute(WDAttribute): def get_where(self): return """ OPTIONAL { ?item p:{name} ?{name}Node . ?{name}Node rdf:type wikibase:BestRank ; ps:{name} ?{name} . - OPTIONAL { ?{name}Node psv:{name}/wikibase:quantityUnit ?{name}Unit. } }""".replace( - '{name}', self.name - ) + OPTIONAL { ?{name}Node psv:{name}/wikibase:quantityUnit ?{name}Unit. } }""".replace('{name}', self.name) def get_group_by(self) -> str: return self.get_select() @@ -126,9 +124,7 @@ class WDArticle(WDAttribute): return """OPTIONAL { ?article{language} schema:about ?item ; schema:inLanguage "{language}" ; schema:isPartOf ; - schema:name ?articleName{language} . }""".replace( - '{language}', self.language - ) + schema:name ?articleName{language} . }""".replace('{language}', self.language) def get_group_by(self): return self.get_select() @@ -216,9 +212,7 @@ class WDGeoAttribute(WDAttribute): def get_where(self): return """OPTIONAL { ?item p:{name}/psv:{name} [ wikibase:geoLatitude ?{name}Lat ; - wikibase:geoLongitude ?{name}Long ] }""".replace( - '{name}', self.name - ) + wikibase:geoLongitude ?{name}Long ] }""".replace('{name}', self.name) def get_group_by(self): return self.get_select() @@ -258,9 +252,7 @@ class WDDateAttribute(WDAttribute): wikibase:timePrecision ?{name}timePrecision ; wikibase:timeTimezone ?{name}timeZone ; wikibase:timeCalendarModel ?{name}timeCalendar ] . } - hint:Prior hint:rangeSafe true;""".replace( - '{name}', self.name - ) + hint:Prior hint:rangeSafe true;""".replace('{name}', self.name) def get_group_by(self): return self.get_select() diff --git a/searxng_extra/update/update_ahmia_blacklist.py b/searxng_extra/update/update_ahmia_blacklist.py index f7fb48d54..dc54cc7bc 100755 --- a/searxng_extra/update/update_ahmia_blacklist.py +++ b/searxng_extra/update/update_ahmia_blacklist.py @@ -8,6 +8,7 @@ Output file: :origin:`searx/data/ahmia_blacklist.txt` (:origin:`CI Update data .. _Ahmia's blacklist: https://ahmia.fi/blacklist/ """ + # pylint: disable=use-dict-literal import requests diff --git a/searxng_extra/update/update_engine_traits.py b/searxng_extra/update/update_engine_traits.py index cde1b29ec..d26a966e3 100755 --- a/searxng_extra/update/update_engine_traits.py +++ b/searxng_extra/update/update_engine_traits.py @@ -12,6 +12,7 @@ The script :origin:`searxng_extra/update/update_engine_traits.py` is called in the :origin:`CI Update data ... <.github/workflows/data-update.yml>` """ + # pylint: disable=invalid-name import typing as t diff --git a/searxng_extra/update/update_firefox_version.py b/searxng_extra/update/update_firefox_version.py index 451530ca8..f2d88f2cd 100755 --- a/searxng_extra/update/update_firefox_version.py +++ b/searxng_extra/update/update_firefox_version.py @@ -6,6 +6,7 @@ Output file: :origin:`searx/data/useragents.json` (:origin:`CI Update data ... <.github/workflows/data-update.yml>`). """ + # pylint: disable=use-dict-literal import json diff --git a/searxng_extra/update/update_locales.py b/searxng_extra/update/update_locales.py index f7bfedee1..bc11354da 100755 --- a/searxng_extra/update/update_locales.py +++ b/searxng_extra/update/update_locales.py @@ -6,6 +6,7 @@ - :py:obj:`searx.locales.RTL_LOCALES` - :py:obj:`searx.locales.LOCALE_NAMES` """ + # pylint: disable=invalid-name from typing import Set diff --git a/searxng_extra/update/update_pygments.py b/searxng_extra/update/update_pygments.py index 1d3a127cf..91b1c7b2f 100755 --- a/searxng_extra/update/update_pygments.py +++ b/searxng_extra/update/update_pygments.py @@ -5,6 +5,7 @@ Call this script after each upgrade of pygments """ + # pylint: disable=too-few-public-methods from pathlib import Path diff --git a/tests/__init__.py b/tests/__init__.py index 8b35161d9..98d1458f5 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -5,7 +5,6 @@ import pathlib import os import aiounittest - os.environ.pop('SEARXNG_SETTINGS_PATH', None) os.environ['SEARXNG_DISABLE_ETC_SETTINGS'] = '1' diff --git a/tests/unit/test_external_bangs.py b/tests/unit/test_external_bangs.py index 2c92130e3..b696bbca2 100644 --- a/tests/unit/test_external_bangs.py +++ b/tests/unit/test_external_bangs.py @@ -11,7 +11,6 @@ from searx.external_bang import ( from searx.search.models import EngineRef, SearchQuery from tests import SearxTestCase - TEST_DB = { 'trie': { 'exam': { diff --git a/tests/unit/test_js_variable_to_python.py b/tests/unit/test_js_variable_to_python.py index dfab5adec..ab6c93d48 100644 --- a/tests/unit/test_js_variable_to_python.py +++ b/tests/unit/test_js_variable_to_python.py @@ -7,6 +7,7 @@ https://github.com/Nykakin/chompjs/blob/c1501b5cd82c0044539875331745b820e7bfd067 The commented-out tests are not yet supported by the current implementation. """ + # pylint: disable=missing-class-docstring, invalid-name import math diff --git a/tests/unit/test_preferences.py b/tests/unit/test_preferences.py index d7009cbfd..7ef70e80c 100644 --- a/tests/unit/test_preferences.py +++ b/tests/unit/test_preferences.py @@ -21,7 +21,6 @@ from searx.preferences import Preferences from tests import SearxTestCase from .test_plugins import PluginMock - locales_initialize() favicons.init() diff --git a/tests/unit/test_search.py b/tests/unit/test_search.py index 426be6123..20b886247 100644 --- a/tests/unit/test_search.py +++ b/tests/unit/test_search.py @@ -8,7 +8,6 @@ from searx.search.models import SearchQuery, EngineRef from searx import settings from tests import SearxTestCase - SAFESEARCH = 0 PAGENO = 1 PUBLIC_ENGINE_NAME = "dummy engine" # from the ./settings/test_settings.yml