SYMBOL INDEX (2157 symbols across 369 files) FILE: client/simple/src/js/Plugin.ts method constructor (line 23) | protected constructor(id: string) { method invoke (line 29) | private async invoke(): Promise { FILE: client/simple/src/js/loader.ts type Options (line 6) | type Options = FILE: client/simple/src/js/main/keyboard.ts type KeyBindingLayout (line 6) | type KeyBindingLayout = "default" | "vim"; type KeyBinding (line 8) | type KeyBinding = { type HighlightResultElement (line 15) | type HighlightResultElement = "down" | "up" | "visible" | "bottom" | "top"; FILE: client/simple/src/js/plugin/Calculator.ts class Calculator (line 44) | class Calculator extends Plugin { method constructor (line 45) | public constructor() { method run (line 78) | protected async run(): Promise { method post (line 90) | protected async post(result: string): Promise { FILE: client/simple/src/js/plugin/InfiniteScroll.ts class InfiniteScroll (line 11) | class InfiniteScroll extends Plugin { method constructor (line 12) | public constructor() { method run (line 16) | protected async run(): Promise { method post (line 107) | protected async post(): Promise { FILE: client/simple/src/js/plugin/MapView.ts class MapView (line 16) | class MapView extends Plugin { method constructor (line 19) | public constructor(map: HTMLElement) { method run (line 25) | protected async run(): Promise { method post (line 90) | protected async post(): Promise { FILE: client/simple/src/js/toolkit.ts type Settings (line 6) | type Settings = { type HTTPOptions (line 25) | type HTTPOptions = { type ReadyOptions (line 30) | type ReadyOptions = { type EndpointsKeys (line 35) | type EndpointsKeys = keyof typeof Endpoints; FILE: client/simple/src/js/util/assertElement.ts type AssertElement (line 3) | type AssertElement = (element?: T | null) => asserts element is T; FILE: client/simple/src/js/util/getElement.ts type Options (line 5) | type Options = { function getElement (line 11) | function getElement(id: string, options: Options = {}): T | null { FILE: client/simple/theme_icons.ts constant HERE (line 12) | const HERE = `${dirname(argv[1] || "")}/`; FILE: client/simple/tools/img.ts type Src2Dest (line 10) | type Src2Dest = { FILE: client/simple/tools/jinja_svg_catalog.ts type IconSet (line 11) | type IconSet = { type IconSVG (line 21) | type IconSVG = { type JinjaMacro (line 31) | type JinjaMacro = { FILE: client/simple/vite.config.ts constant ROOT (line 18) | const ROOT = "../../"; constant PATH (line 20) | const PATH = { FILE: docs/conf.py function setup (line 71) | def setup(app): FILE: searx/__init__.py function init_settings (line 32) | def init_settings(): function get_setting (line 74) | def get_setting(name: str, default: t.Any = _unset) -> t.Any: function _is_color_terminal (line 97) | def _is_color_terminal(): function _logging_config_debug (line 103) | def _logging_config_debug(): FILE: searx/answerers/_core.py class AnswererInfo (line 22) | class AnswererInfo: class Answerer (line 43) | class Answerer(abc.ABC): method answer (line 50) | def answer(self, query: str) -> list[BaseAnswer]: method info (line 54) | def info(self) -> AnswererInfo: class ModuleAnswerer (line 58) | class ModuleAnswerer(Answerer): method __init__ (line 67) | def __init__(self, mod): method answer (line 78) | def answer(self, query: str) -> list[BaseAnswer]: method info (line 81) | def info(self) -> AnswererInfo: class AnswerStorage (line 87) | class AnswerStorage(dict): # type: ignore method __init__ (line 95) | def __init__(self): method load_builtins (line 99) | def load_builtins(self): method register_by_fqn (line 121) | def register_by_fqn(self, fqn: str): method register (line 135) | def register(self, answerer: Answerer): method ask (line 143) | def ask(self, query: str) -> list[BaseAnswer]: method info (line 167) | def info(self) -> list[AnswererInfo]: FILE: searx/answerers/random.py function random_characters (line 17) | def random_characters(): function random_string (line 22) | def random_string(): function random_float (line 26) | def random_float(): function random_int (line 30) | def random_int(): function random_sha256 (line 35) | def random_sha256(): function random_uuid (line 41) | def random_uuid(): function random_color (line 45) | def random_color(): class SXNGAnswerer (line 50) | class SXNGAnswerer(Answerer): method info (line 64) | def info(self): method answer (line 73) | def answer(self, query: str) -> list[BaseAnswer]: FILE: searx/answerers/statistics.py class SXNGAnswerer (line 28) | class SXNGAnswerer(Answerer): method info (line 33) | def info(self): method answer (line 42) | def answer(self, query: str) -> list[BaseAnswer]: FILE: searx/autocomplete.py function update_kwargs (line 29) | def update_kwargs(**kwargs) -> None: # type: ignore function get (line 35) | def get(*args, **kwargs) -> "SXNG_Response": # type: ignore function post (line 40) | def post(*args, **kwargs) -> "SXNG_Response": # type: ignore function baidu (line 45) | def baidu(query: str, _sxng_locale: str) -> list[str]: function bing (line 59) | def bing(query: str, _sxng_locale: str) -> list[str]: function brave (line 79) | def brave(query: str, _sxng_locale: str) -> list[str]: function dbpedia (line 95) | def dbpedia(query: str, _sxng_locale: str) -> list[str]: function duckduckgo (line 107) | def duckduckgo(query: str, sxng_locale: str) -> list[str]: function google_complete (line 127) | def google_complete(query: str, sxng_locale: str) -> list[str]: function mwmbl (line 156) | def mwmbl(query: str, _sxng_locale: str) -> list[str]: function naver (line 168) | def naver(query: str, _sxng_locale: str) -> list[str]: function qihu360search (line 182) | def qihu360search(query: str, _sxng_locale: str) -> list[str]: function quark (line 196) | def quark(query: str, _sxng_locale: str) -> list[str]: function seznam (line 209) | def seznam(query: str, _sxng_locale: str) -> list[str]: function sogou (line 231) | def sogou(query: str, _sxng_locale: str) -> list[str]: function startpage (line 247) | def startpage(query: str, sxng_locale: str) -> list[str]: function swisscows (line 293) | def swisscows(query: str, _sxng_locale: str) -> list[str]: function qwant (line 300) | def qwant(query: str, sxng_locale: str) -> list[str]: function wikipedia (line 316) | def wikipedia(query: str, sxng_locale: str) -> list[str]: function yandex (line 343) | def yandex(query: str, _sxng_locale: str) -> list[str]: function search_autocomplete (line 375) | def search_autocomplete(backend_name: str, query: str, sxng_locale: str)... FILE: searx/babel_extract.py function extract (line 30) | def extract( FILE: searx/botdetection/__init__.py function init (line 22) | def init(cfg: config.Config, valkey_client: valkey.Valkey | None): FILE: searx/botdetection/_helpers.py function dump_request (line 26) | def dump_request(request: flask.Request): function too_many_requests (line 45) | def too_many_requests(network: IPv4Network | IPv6Network, log_msg: str) ... function get_network (line 56) | def get_network(real_ip: IPv4Address | IPv6Address, cfg: "config.Config"... function log_error_only_once (line 83) | def log_error_only_once(err_msg: str): FILE: searx/botdetection/config.py function set_global_cfg (line 26) | def set_global_cfg(cfg: "Config"): function get_global_cfg (line 31) | def get_global_cfg() -> "Config": class FALSE (line 38) | class FALSE: method __init__ (line 42) | def __init__(self, msg: str): method __bool__ (line 45) | def __bool__(self): method __str__ (line 48) | def __str__(self): class SchemaIssue (line 58) | class SchemaIssue(ValueError): method __init__ (line 61) | def __init__(self, level: typing.Literal['warn', 'invalid'], msg: str): method __str__ (line 65) | def __str__(self): class Config (line 69) | class Config: method from_toml (line 75) | def from_toml(cls, schema_file: pathlib.Path, cfg_file: pathlib.Path, ... method __init__ (line 98) | def __init__(self, cfg_schema: dict[str, typing.Any], deprecated: dict... method __getitem__ (line 111) | def __getitem__(self, key: str) -> typing.Any: method validate (line 114) | def validate(self, cfg: dict[str, typing.Any]): method update (line 120) | def update(self, upd_cfg: dict[str, typing.Any]): method default (line 125) | def default(self, name: str): method get (line 129) | def get(self, name: str, default: typing.Any = UNSET, replace: bool = ... method set (line 147) | def set(self, name: str, val: typing.Any): method _get_parent_dict (line 156) | def _get_parent_dict(self, name: str) -> dict[str, typing.Any]: method path (line 166) | def path(self, name: str, default: typing.Any = UNSET): method pyobj (line 176) | def pyobj(self, name: str, default: typing.Any = UNSET): function toml_load (line 190) | def toml_load(file_name: str | pathlib.Path): function value (line 203) | def value(name: str, data_dict: dict[str, typing.Any]): function validate (line 231) | def validate( function _validate (line 272) | def _validate( function dict_deepupdate (line 317) | def dict_deepupdate(base_dict: dict[str, typing.Any], upd_dict: dict[str... FILE: searx/botdetection/http_accept.py function filter_request (line 29) | def filter_request( FILE: searx/botdetection/http_accept_encoding.py function filter_request (line 30) | def filter_request( FILE: searx/botdetection/http_accept_language.py function filter_request (line 27) | def filter_request( FILE: searx/botdetection/http_connection.py function filter_request (line 27) | def filter_request( FILE: searx/botdetection/http_sec_fetch.py function is_browser_supported (line 39) | def is_browser_supported(user_agent: str) -> bool: function filter_request (line 77) | def filter_request( FILE: searx/botdetection/http_user_agent.py function regexp_user_agent (line 49) | def regexp_user_agent(): function filter_request (line 56) | def filter_request( FILE: searx/botdetection/ip_limit.py function filter_request (line 92) | def filter_request( FILE: searx/botdetection/ip_lists.py function pass_ip (line 49) | def pass_ip(real_ip: IPv4Address | IPv6Address, cfg: config.Config) -> T... function block_ip (line 62) | def block_ip(real_ip: IPv4Address | IPv6Address, cfg: config.Config) -> ... function ip_is_subnet_of_member_in_list (line 73) | def ip_is_subnet_of_member_in_list( FILE: searx/botdetection/link_token.py function is_suspicious (line 73) | def is_suspicious(network: IPv4Network | IPv6Network, request: flask.Req... function ping (line 93) | def ping(request: flask.Request, token: str): function get_ping_key (line 115) | def get_ping_key(network: IPv4Network | IPv6Network, request: flask.Requ... function token_is_valid (line 128) | def token_is_valid(token) -> bool: function get_token (line 134) | def get_token() -> str: FILE: searx/botdetection/trusted_proxies.py class ProxyFix (line 23) | class ProxyFix: method __init__ (line 58) | def __init__(self, wsgi_app: "WSGIApplication") -> None: method trusted_proxies (line 61) | def trusted_proxies(self) -> list[IPv4Network | IPv6Network]: method trusted_remote_addr (line 66) | def trusted_remote_addr( method __call__ (line 88) | def __call__(self, environ: "WSGIEnvironment", start_response: "StartR... FILE: searx/botdetection/valkeydb.py function set_valkey_client (line 13) | def set_valkey_client(valkey_client: valkey.Valkey): function get_valkey_client (line 18) | def get_valkey_client() -> valkey.Valkey: FILE: searx/brand.py class BrandCustom (line 14) | class BrandCustom(msgspec.Struct, kw_only=True, forbid_unknown_fields=Tr... class ThemeColors (line 21) | class ThemeColors(msgspec.Struct, kw_only=True, forbid_unknown_fields=Tr... class SettingsBrand (line 32) | class SettingsBrand(msgspec.Struct, kw_only=True, forbid_unknown_fields=... FILE: searx/cache.py class ExpireCacheCfg (line 35) | class ExpireCacheCfg(msgspec.Struct): # pylint: disable=too-few-public-... method __post_init__ (line 76) | def __post_init__(self): class ExpireCacheStats (line 83) | class ExpireCacheStats: method report (line 101) | def report(self): class ExpireCache (line 130) | class ExpireCache(abc.ABC): method set (line 139) | def set(self, key: str, value: typing.Any, expire: int | None, ctx: st... method get (line 159) | def get(self, key: str, default: typing.Any = None, ctx: str | None = ... method maintenance (line 163) | def maintenance(self, force: bool = False, truncate: bool = False) -> ... method state (line 176) | def state(self) -> ExpireCacheStats: method build_cache (line 181) | def build_cache(cfg: ExpireCacheCfg) -> "ExpireCacheSQLite": method normalize_name (line 193) | def normalize_name(name: str) -> str: method serialize (line 200) | def serialize(self, value: typing.Any) -> bytes: method deserialize (line 204) | def deserialize(self, value: bytes) -> typing.Any: method secret_hash (line 208) | def secret_hash(self, name: str | bytes) -> str: class ExpireCacheSQLite (line 220) | class ExpireCacheSQLite(sqlitedb.SQLiteAppl, ExpireCache): method __init__ (line 240) | def __init__(self, cfg: ExpireCacheCfg): method init (line 249) | def init(self, conn: sqlite3.Connection) -> bool: method maintenance (line 264) | def maintenance(self, force: bool = False, truncate: bool = False) -> ... method create_table (line 294) | def create_table(self, table: str) -> bool: method table_names (line 322) | def table_names(self) -> list[str]: method truncate_tables (line 328) | def truncate_tables(self, table_names: list[str]): method next_maintenance_time (line 337) | def next_maintenance_time(self) -> int: method set (line 344) | def set(self, key: str, value: typing.Any, expire: int | None, ctx: st... method setmany (line 360) | def setmany( method _setmany (line 385) | def _setmany( method get (line 444) | def get(self, key: str, default: typing.Any = None, ctx: str | None = ... method pairs (line 467) | def pairs(self, ctx: str) -> Iterator[tuple[str, typing.Any]]: method state (line 481) | def state(self) -> ExpireCacheStats: FILE: searx/compat.py function limiter_fix_cfg (line 18) | def limiter_fix_cfg(cfg, cfg_file): FILE: searx/data/__init__.py class UserAgentType (line 19) | class UserAgentType(t.TypedDict): class WikiDataUnitType (line 27) | class WikiDataUnitType(t.TypedDict): class LocalesType (line 35) | class LocalesType(t.TypedDict): function __getattr__ (line 81) | def __getattr__(name: str) -> t.Any: function ahmia_blacklist_loader (line 98) | def ahmia_blacklist_loader() -> list[str]: function gsa_useragents_loader (line 111) | def gsa_useragents_loader() -> list[str]: FILE: searx/data/__main__.py function state (line 12) | def state(): FILE: searx/data/core.py function get_cache (line 17) | def get_cache(): FILE: searx/data/currencies.py class CurrenciesDB (line 17) | class CurrenciesDB: method __init__ (line 25) | def __init__(self): method init (line 28) | def init(self): method load (line 37) | def load(self): method name_to_iso4217 (line 47) | def name_to_iso4217(self, name: str) -> str | None: method iso4217_to_name (line 56) | def iso4217_to_name(self, iso4217: str, language: str) -> str | None: method is_iso4217 (line 62) | def is_iso4217(self, iso4217: str) -> bool: FILE: searx/data/tracker_patterns.py class TrackerPatternsDB (line 26) | class TrackerPatternsDB: class Fields (line 38) | class Fields: method __init__ (line 44) | def __init__(self): method init (line 47) | def init(self): method load (line 56) | def load(self): method add (line 70) | def add(self, rule: RuleType): method rules (line 78) | def rules(self) -> Iterator[RuleType]: method iter_clear_list (line 83) | def iter_clear_list(self) -> Iterator[RuleType]: method clean_url (line 111) | def clean_url(self, url: str) -> bool | str: FILE: searx/enginelib/__init__.py function state (line 60) | def state(): function maintenance (line 75) | def maintenance(force: bool = True, truncate: bool = False): class EngineCache (line 80) | class EngineCache: method __init__ (line 160) | def __init__(self, engine_name: str, expire: int | None = None): method set (line 165) | def set(self, key: str, value: t.Any, expire: int | None = None) -> bool: method get (line 173) | def get(self, key: str, default: t.Any = None) -> t.Any: method secret_hash (line 176) | def secret_hash(self, name: str | bytes) -> str: class Engine (line 180) | class Engine(abc.ABC): # pylint: disable=too-few-public-methods method setup (line 313) | def setup(self, engine_settings: dict[str, t.Any]) -> bool: # pylint:... method init (line 329) | def init(self, engine_settings: dict[str, t.Any]) -> bool | None: # p... method search (line 348) | def search(self, query: str, params: "OfflineParamTypes") -> "EngineRe... method request (line 352) | def request(self, query: str, params: "OnlineParamTypes") -> None: method response (line 357) | def response(self, resp: "SXNG_Response") -> "EngineResults": FILE: searx/enginelib/traits.py class EngineTraitsEncoder (line 25) | class EngineTraitsEncoder(json.JSONEncoder): method default (line 29) | def default(self, o: t.Any) -> t.Any: class EngineTraits (line 37) | class EngineTraits: method get_language (line 87) | def get_language(self, searxng_locale: str, default: str | None = None... method get_region (line 103) | def get_region(self, searxng_locale: str, default: str | None = None) ... method is_locale_supported (line 119) | def is_locale_supported(self, searxng_locale: str) -> bool: method copy (line 132) | def copy(self): method fetch_traits (line 137) | def fetch_traits(cls, engine: "Engine | types.ModuleType") -> "EngineT... method set_traits (line 151) | def set_traits(self, engine: "Engine | types.ModuleType") -> None: method _set_traits_v1 (line 162) | def _set_traits_v1(self, engine: "Engine | types.ModuleType") -> None: class EngineTraitsMap (line 193) | class EngineTraitsMap(dict[str, EngineTraits]): method save_data (line 199) | def save_data(self): method from_data (line 205) | def from_data(cls) -> "EngineTraitsMap": method fetch_traits (line 213) | def fetch_traits(cls, log: t.Callable[[str], None]) -> "EngineTraitsMap": method set_traits (line 245) | def set_traits(self, engine: "Engine | types.ModuleType"): FILE: searx/engines/1337x.py function request (line 25) | def request(query, params): function response (line 31) | def response(resp): FILE: searx/engines/360search.py function setup (line 44) | def setup(engine_settings: dict[str, t.Any]) -> bool: function get_cookie (line 56) | def get_cookie(url: str) -> str: function request (line 68) | def request(query, params): function response (line 86) | def response(resp): FILE: searx/engines/360search_videos.py function request (line 25) | def request(query, params): function response (line 32) | def response(resp): FILE: searx/engines/9gag.py function request (line 25) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/__init__.py function check_engine_module (line 69) | def check_engine_module(module: types.ModuleType): function load_engine (line 81) | def load_engine(engine_data: dict[str, t.Any]) -> "Engine | types.Module... function set_loggers (line 159) | def set_loggers(engine: "Engine|types.ModuleType", engine_name: str): function update_engine_attributes (line 178) | def update_engine_attributes(engine: "Engine | types.ModuleType", engine... function update_attributes_for_tor (line 196) | def update_attributes_for_tor(engine: "Engine | types.ModuleType"): function is_missing_required_attributes (line 202) | def is_missing_required_attributes(engine: "Engine | types.ModuleType"): function using_tor_proxy (line 215) | def using_tor_proxy(engine: "Engine | types.ModuleType"): function is_engine_active (line 220) | def is_engine_active(engine: "Engine | types.ModuleType"): function call_engine_setup (line 232) | def call_engine_setup(engine: "Engine | types.ModuleType", engine_data: ... function register_engine (line 251) | def register_engine(engine: "Engine | types.ModuleType"): function load_engines (line 266) | def load_engines(engine_list: list[dict[str, t.Any]]): FILE: searx/engines/acfun.py function request (line 30) | def request(query, params): function response (line 36) | def response(resp): function extract_video_data (line 67) | def extract_video_data(video_block): FILE: searx/engines/adobe_stock.py function init (line 88) | def init(_): function request (line 112) | def request(query, params): function parse_image_item (line 134) | def parse_image_item(item): function parse_video_item (line 148) | def parse_video_item(item): function parse_audio_item (line 184) | def parse_audio_item(item): function response (line 202) | def response(resp): FILE: searx/engines/ahmia.py function setup (line 49) | def setup(engine_settings: dict[str, t.Any]) -> bool: function _get_tokens (line 55) | def _get_tokens(dom: ElementType | None = None) -> str: function request (line 71) | def request(query, params): function response (line 86) | def response(resp): FILE: searx/engines/alpinelinux.py function request (line 40) | def request(query, params): function response (line 57) | def response(resp): FILE: searx/engines/annas_archive.py function setup (line 99) | def setup(_engine_settings: dict[str, t.Any]) -> bool: function _get_base_url_choice (line 119) | def _get_base_url_choice() -> str: function request (line 126) | def request(query: str, params: "OnlineParams") -> None: function response (line 143) | def response(resp: "SXNG_Response") -> EngineResults: function _get_result (line 161) | def _get_result(item: ElementBase, base_url_choice: str) -> dict[str, t.... function fetch_traits (line 239) | def fetch_traits(engine_traits: EngineTraits) -> None: FILE: searx/engines/ansa.py function request (line 49) | def request(query, params): function response (line 63) | def response(resp) -> EngineResults: FILE: searx/engines/aol.py function init (line 64) | def init(_): function request (line 69) | def request(query: str, params: "OnlineParams") -> None: function _deobfuscate_url (line 94) | def _deobfuscate_url(obfuscated_url: str) -> str | None: function _general_results (line 106) | def _general_results(doc: html.HtmlElement) -> EngineResults: function _video_results (line 129) | def _video_results(doc: html.HtmlElement) -> EngineResults: function _image_results (line 164) | def _image_results(doc: html.HtmlElement) -> EngineResults: function response (line 192) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/apkmirror.py function request (line 34) | def request(query, params): function response (line 43) | def response(resp): FILE: searx/engines/apple_app_store.py function request (line 26) | def request(query, params): function response (line 37) | def response(resp): FILE: searx/engines/apple_maps.py function obtain_token (line 28) | def obtain_token(): function request (line 46) | def request(query, params): function response (line 57) | def response(resp): FILE: searx/engines/archlinux.py function request (line 40) | def request(query, params): function response (line 69) | def response(resp): function fetch_traits (line 93) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/artic.py function request (line 30) | def request(query, params): function response (line 46) | def response(resp): FILE: searx/engines/artstation.py function setup (line 38) | def setup(engine_settings: dict[str, t.Any]) -> bool: function fetch_csrf_tokens (line 44) | def fetch_csrf_tokens(): function request (line 62) | def request(query, params): function response (line 84) | def response(resp) -> EngineResults: FILE: searx/engines/arxiv.py function request (line 68) | def request(query: str, params: "OnlineParams") -> None: function response (line 78) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/astrophysics_data_system.py function setup (line 99) | def setup(engine_settings: dict[str, t.Any]) -> bool: function request (line 110) | def request(query: str, params: "OnlineParams") -> None: function response (line 125) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/azure.py function setup (line 65) | def setup(engine_settings: dict[str, t.Any]) -> bool: function authenticate (line 86) | def authenticate(t_id: str, c_id: str, c_secret: str) -> str: function get_auth_token (line 104) | def get_auth_token(t_id: str, c_id: str, c_secret: str) -> str: function request (line 114) | def request(query: str, params: "OnlineParams") -> None: function response (line 157) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/baidu.py function init (line 39) | def init(_): function request (line 44) | def request(query, params): function response (line 96) | def response(resp): function parse_general (line 111) | def parse_general(data): function parse_images (line 142) | def parse_images(data): function parse_it (line 173) | def parse_it(data): FILE: searx/engines/bandcamp.py function request (line 39) | def request(query, params): function response (line 46) | def response(resp): FILE: searx/engines/base.py function request (line 54) | def request(query, params): function response (line 74) | def response(resp): FILE: searx/engines/bilibili.py function request (line 43) | def request(query, params): function response (line 60) | def response(resp): FILE: searx/engines/bing.py function get_locale_params (line 55) | def get_locale_params(engine_region: str | None) -> dict[str, str] | None: function override_accept_language (line 75) | def override_accept_language(params: "OnlineParams", engine_region: str ... function request (line 97) | def request(query: str, params: "OnlineParams") -> "OnlineParams": function response (line 122) | def response(resp: "SXNG_Response") -> list[dict[str, t.Any]]: function fetch_traits (line 171) | def fetch_traits(engine_traits: EngineTraits) -> None: FILE: searx/engines/bing_images.py function request (line 41) | def request(query, params): function response (line 72) | def response(resp): FILE: searx/engines/bing_news.py function request (line 51) | def request(query, params): function response (line 82) | def response(resp): function fetch_traits (line 132) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/bing_videos.py function request (line 36) | def request(query, params): function response (line 68) | def response(resp): FILE: searx/engines/bitchute.py function request (line 23) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/boardreader.py function init (line 47) | def init(engine_settings: dict[str, t.Any]) -> bool: function _get_session_id (line 53) | def _get_session_id() -> str: function request (line 70) | def request(query: str, params: "OnlineParams"): function _remove_keyword_marker (line 89) | def _remove_keyword_marker(text: str) -> str: function response (line 96) | def response(resp: "SXNG_Response") -> EngineResults: function fetch_traits (line 114) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/bpb.py function request (line 26) | def request(query, params): function response (line 37) | def response(resp): FILE: searx/engines/brave.py function request (line 197) | def request(query: str, params: dict[str, t.Any]) -> None: function _extract_published_date (line 234) | def _extract_published_date(published_date_raw: str | None): function extract_json_data (line 243) | def extract_json_data(text: str) -> dict[str, t.Any]: function response (line 264) | def response(resp: SXNG_Response) -> EngineResults: function _parse_search (line 289) | def _parse_search(resp: SXNG_Response) -> EngineResults: function _parse_news (line 352) | def _parse_news(resp: SXNG_Response) -> EngineResults: function _parse_images (line 377) | def _parse_images(json_resp: dict[str, t.Any]) -> EngineResults: function _parse_videos (line 394) | def _parse_videos(json_resp: dict[str, t.Any]) -> EngineResults: function fetch_traits (line 418) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/braveapi.py function init (line 66) | def init(_): function request (line 72) | def request(query: str, params: "OnlineParams") -> None: function _extract_published_date (line 92) | def _extract_published_date(published_date_raw: str): function response (line 110) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/bt4g.py function request (line 75) | def request(query, params): function response (line 90) | def response(resp): FILE: searx/engines/btdigg.py function request (line 31) | def request(query, params): function response (line 38) | def response(resp): FILE: searx/engines/cachy_os.py function request (line 23) | def request(query, params): function response (line 35) | def response(resp) -> EngineResults: FILE: searx/engines/cara.py function request (line 43) | def request(query: str, params: "OnlineParams") -> None: function response (line 53) | def response(resp: "SXNG_Response"): FILE: searx/engines/ccc_media.py function request (line 22) | def request(query, params): function response (line 29) | def response(resp): FILE: searx/engines/chefkoch.py function request (line 27) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/chinaso.py function init (line 111) | def init(_): function request (line 118) | def request(query, params): function response (line 153) | def response(resp): function parse_news (line 164) | def parse_news(data): function parse_images (line 188) | def parse_images(data): function parse_videos (line 207) | def parse_videos(data): FILE: searx/engines/cloudflareai.py function request (line 29) | def request(query, params): function response (line 53) | def response(resp): FILE: searx/engines/command.py function init (line 103) | def init(engine_settings): function search (line 129) | def search(query, params) -> EngineResults: function _get_command_to_run (line 142) | def _get_command_to_run(query): function _get_results_from_process (line 156) | def _get_results_from_process(res: EngineResults, cmd, pageno): function __get_results_limits (line 190) | def __get_results_limits(pageno): function __check_query_params (line 196) | def __check_query_params(params): function check_parsing_options (line 211) | def check_parsing_options(engine_settings): function __parse_single_result (line 224) | def __parse_single_result(raw_result): FILE: searx/engines/core.py function setup (line 63) | def setup(engine_settings: dict[str, t.Any]) -> bool: function request (line 75) | def request(query: str, params: "OnlineParams") -> None: function response (line 89) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/crates.py function request (line 35) | def request(query: str, params): function response (line 42) | def response(resp): FILE: searx/engines/crossref.py function request (line 39) | def request(query: str, params: "OnlineParams") -> None: function response (line 47) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/currency_convert.py function request (line 32) | def request(query: str, params: "OnlineCurrenciesParams") -> None: # py... function response (line 36) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/dailymotion.py function request (line 98) | def request(query, params): function response (line 144) | def response(resp): function fetch_traits (line 196) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/deepl.py function request (line 22) | def request(_query, params): function response (line 42) | def response(resp) -> EngineResults: FILE: searx/engines/deezer.py function request (line 30) | def request(query, params): function response (line 39) | def response(resp): FILE: searx/engines/demo_offline.py function setup (line 54) | def setup(engine_settings: dict[str, t.Any]) -> bool: function init (line 77) | def init(engine_settings: dict[str, t.Any]) -> bool: # pylint: disable=... function search (line 85) | def search(query: str, params: "RequestParams") -> EngineResults: FILE: searx/engines/demo_online.py function setup (line 60) | def setup(engine_settings: "OnlineParams") -> bool: function init (line 69) | def init(engine_settings: dict[str, t.Any]) -> bool: # pylint: disable=... function request (line 76) | def request(query: str, params: "OnlineParams") -> None: function response (line 90) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/destatis.py function request (line 33) | def request(query, params): function response (line 42) | def response(resp): FILE: searx/engines/deviantart.py function request (line 36) | def request(query, params): function response (line 50) | def response(resp): FILE: searx/engines/devicons.py function request (line 25) | def request(query: str, params: "OnlineParams"): function response (line 31) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/dictzone.py function request (line 29) | def request(query, params): # pylint: disable=unused-argument function _clean_up_node (line 39) | def _clean_up_node(node): function response (line 45) | def response(resp) -> EngineResults: FILE: searx/engines/digbt.py function request (line 29) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/discourse.py function request (line 101) | def request(query, params): function response (line 132) | def response(resp): FILE: searx/engines/docker_hub.py function request (line 24) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/doku.py function request (line 40) | def request(query, params): function response (line 48) | def response(resp): FILE: searx/engines/duckduckgo.py function get_cache (line 222) | def get_cache() -> EngineCache: function set_vqd (line 229) | def set_vqd(query: str | int, value: str, params: "OnlineParams") -> None: function get_vqd (line 235) | def get_vqd( function get_ddg_lang (line 253) | def get_ddg_lang( function quote_ddg_bangs (line 345) | def quote_ddg_bangs(query: str) -> str: function request (line 361) | def request(query: str, params: "OnlineParams") -> None: function is_ddg_captcha (line 458) | def is_ddg_captcha(dom: ElementType): function response (line 465) | def response(resp: "SXNG_Response") -> EngineResults: function fetch_traits (line 521) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/duckduckgo_definitions.py function is_broken_text (line 50) | def is_broken_text(text: str) -> bool: function result_to_text (line 60) | def result_to_text(text: str, htmlResult: str) -> str | None: function request (line 74) | def request(query: str, params: "OnlineParams") -> None: function response (line 78) | def response(resp: "SXNG_Response") -> EngineResults: function unit_to_str (line 247) | def unit_to_str(unit: str) -> str: function area_to_str (line 258) | def area_to_str(area: dict[str, str]) -> str: FILE: searx/engines/duckduckgo_extra.py function init (line 47) | def init(engine_settings: dict[str, t.Any]): function fetch_vqd (line 53) | def fetch_vqd( function request (line 83) | def request(query: str, params: "OnlineParams") -> None: function _image_result (line 147) | def _image_result(result): function _video_result (line 160) | def _video_result(result): function _news_result (line 174) | def _news_result(result): function response (line 184) | def response(resp): FILE: searx/engines/duckduckgo_weather.py function _weather_data (line 73) | def _weather_data(location: weather.GeoLocation, data: dict[str, t.Any]): function request (line 88) | def request(query: str, params: dict[str, t.Any]): function response (line 103) | def response(resp: SXNG_Response): FILE: searx/engines/duden.py function request (line 29) | def request(query, params): function response (line 44) | def response(resp): FILE: searx/engines/dummy-offline.py function search (line 16) | def search(query, request_params): # pylint: disable=unused-argument FILE: searx/engines/dummy.py function request (line 16) | def request(query, params): # pylint: disable=unused-argument function response (line 21) | def response(resp): # pylint: disable=unused-argument FILE: searx/engines/ebay.py function request (line 39) | def request(query, params): function response (line 44) | def response(resp): FILE: searx/engines/elasticsearch.py function init (line 71) | def init(engine_settings): function request (line 79) | def request(query, params): function _match_query (line 101) | def _match_query(query): function _simple_query_string_query (line 116) | def _simple_query_string_query(query): function _term_query (line 126) | def _term_query(query): function _terms_query (line 141) | def _terms_query(query): function _custom_query (line 156) | def _custom_query(query): function response (line 167) | def response(resp: SXNG_Response) -> EngineResults: FILE: searx/engines/emojipedia.py function request (line 34) | def request(query, params): function response (line 41) | def response(resp): FILE: searx/engines/fdroid.py function request (line 30) | def request(query, params): function response (line 37) | def response(resp): FILE: searx/engines/findthatmeme.py function request (line 21) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/flickr.py function build_flickr_url (line 39) | def build_flickr_url(user_id, photo_id): function request (line 43) | def request(query, params): function response (line 50) | def response(resp): FILE: searx/engines/flickr_noapi.py function build_flickr_url (line 40) | def build_flickr_url(user_id, photo_id): function _get_time_range_url (line 44) | def _get_time_range_url(time_range): function request (line 50) | def request(query, params): function response (line 57) | def response(resp): # pylint: disable=too-many-branches FILE: searx/engines/freesound.py function request (line 34) | def request(query, params): function response (line 44) | def response(resp): FILE: searx/engines/frinkiac.py function request (line 28) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/fyyd.py function request (line 21) | def request(query, params): function response (line 31) | def response(resp): FILE: searx/engines/geizhals.py function request (line 47) | def request(query, params): function response (line 67) | def response(resp): FILE: searx/engines/genius.py function request (line 28) | def request(query, params): function parse_lyric (line 38) | def parse_lyric(hit): function parse_artist (line 64) | def parse_artist(hit): function parse_album (line 74) | def parse_album(hit): function response (line 93) | def response(resp): FILE: searx/engines/gitea.py function init (line 80) | def init(_): function request (line 85) | def request(query, params): function response (line 92) | def response(resp): FILE: searx/engines/github.py function request (line 25) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/github_code.py function request (line 144) | def request(query: str, params: dict[str, t.Any]) -> None: function extract_code (line 162) | def extract_code(code_matches: list[dict[str, t.Any]]) -> tuple[list[str... function response (line 214) | def response(resp: SXNG_Response) -> EngineResults: FILE: searx/engines/gitlab.py function request (line 67) | def request(query, params): function response (line 74) | def response(resp): FILE: searx/engines/gmx.py function _get_page_hash (line 40) | def _get_page_hash(query: str, page: int, headers: dict[str, str]) -> str: function request (line 48) | def request(query: str, params: 'OnlineParams'): function response (line 78) | def response(resp: 'SXNG_Response') -> EngineResults: FILE: searx/engines/goodreads.py function request (line 30) | def request(query, params): function response (line 40) | def response(resp): FILE: searx/engines/google.py function ui_async (line 79) | def ui_async(start: int) -> str: function get_google_info (line 101) | def get_google_info(params: "OnlineParams", eng_traits: EngineTraits) ->... function detect_google_sorry (line 281) | def detect_google_sorry(resp: "SXNG_Response"): function request (line 304) | def request(query: str, params: "OnlineParams") -> None: function parse_url_images (line 353) | def parse_url_images(text: str): function response (line 362) | def response(resp: "SXNG_Response"): function fetch_traits (line 460) | def fetch_traits(engine_traits: EngineTraits, add_domains: bool = True): FILE: searx/engines/google_images.py function request (line 51) | def request(query, params): function response (line 82) | def response(resp): FILE: searx/engines/google_news.py function request (line 78) | def request(query: str, params: "OnlineParams") -> None: function response (line 131) | def response(resp: "SXNG_Response") -> EngineResults: function fetch_traits (line 301) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/google_play.py function request (line 27) | def request(query, params): function response (line 41) | def response(resp): function response_movies (line 51) | def response_movies(resp): function response_apps (line 78) | def response_apps(resp): FILE: searx/engines/google_scholar.py function request (line 76) | def request(query: str, params: "OnlineParams") -> None: function response (line 97) | def response(resp: "SXNG_Response") -> EngineResults: # pylint: disable... function time_range_args (line 173) | def time_range_args(params: "OnlineParams") -> dict[str, int]: function detect_google_captcha (line 199) | def detect_google_captcha(dom: ElementType): function parse_gs_a (line 207) | def parse_gs_a(text: str | None) -> tuple[list[str], str, str, datetime ... FILE: searx/engines/google_videos.py function parse_data_images (line 59) | def parse_data_images(text: str): function request (line 71) | def request(query, params): function response (line 104) | def response(resp): FILE: searx/engines/grokipedia.py function request (line 23) | def request(query, params): function response (line 38) | def response(resp) -> EngineResults: FILE: searx/engines/hackernews.py function request (line 31) | def request(query, params): function response (line 71) | def response(resp): FILE: searx/engines/hex.py function request (line 52) | def request(query: str, params): function response (line 58) | def response(resp): FILE: searx/engines/huggingface.py function init (line 65) | def init(_): function request (line 70) | def request(query, params): function response (line 81) | def response(resp) -> EngineResults: FILE: searx/engines/il_post.py function request (line 41) | def request(query, params): function response (line 57) | def response(resp) -> EngineResults: FILE: searx/engines/imdb.py function request (line 39) | def request(query, params): function response (line 47) | def response(resp): FILE: searx/engines/imgur.py function request (line 29) | def request(query, params): function response (line 40) | def response(resp): FILE: searx/engines/ina.py function request (line 41) | def request(query, params): function response (line 47) | def response(resp): FILE: searx/engines/invidious.py function init (line 37) | def init(_): function request (line 42) | def request(query, params): function response (line 69) | def response(resp): FILE: searx/engines/ipernity.py function request (line 28) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/iqiyi.py function request (line 29) | def request(query, params): function _result (line 39) | def _result(video: dict[str, typing.Any], album_info: dict[str, typing.A... function response (line 61) | def response(resp): FILE: searx/engines/jisho.py function request (line 27) | def request(query, params): function response (line 34) | def response(resp): function get_definitions (line 75) | def get_definitions(page): function get_infobox (line 103) | def get_infobox(alt_forms, result_url, definitions): FILE: searx/engines/json_engine.py function iterate (line 256) | def iterate(iterable): function is_iterable (line 266) | def is_iterable(obj): function parse (line 272) | def parse(query): # pylint: disable=redefined-outer-name function do_query (line 281) | def do_query(data, q): # pylint: disable=invalid-name function query (line 305) | def query(data, query_string): function request (line 311) | def request(query, params): # pylint: disable=redefined-outer-name function identity (line 351) | def identity(arg): function extract_response_info (line 355) | def extract_response_info(result): function response (line 386) | def response(resp): FILE: searx/engines/karmasearch.py function init (line 48) | def init(_): function request (line 53) | def request(query: str, params: "OnlineParams") -> None: function _parse_date (line 73) | def _parse_date(date_string: str) -> datetime | None: function _parse_general (line 80) | def _parse_general(result: dict[str, str]): function _parse_news (line 89) | def _parse_news(result: dict[str, str]) -> LegacyResult: function _parse_videos (line 101) | def _parse_videos(result: dict[str, t.Any]) -> LegacyResult: function _parse_images (line 115) | def _parse_images(result: dict[str, t.Any]) -> LegacyResult: function response (line 128) | def response(resp: "SXNG_Response") -> EngineResults: function fetch_traits (line 162) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/kickass.py function request (line 33) | def request(query, params): function response (line 40) | def response(resp): FILE: searx/engines/lemmy.py function request (line 68) | def request(query, params): function _get_communities (line 79) | def _get_communities(json): function _get_users (line 102) | def _get_users(json): function _get_posts (line 117) | def _get_posts(json): function _get_comments (line 152) | def _get_comments(json): function response (line 181) | def response(resp): FILE: searx/engines/lib_rs.py function request (line 29) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/libretranslate.py function request (line 24) | def request(_query, params): function response (line 48) | def response(resp) -> EngineResults: FILE: searx/engines/lingva.py function request (line 32) | def request(_query: str, params: "OnlineDictParams") -> None: function response (line 40) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/loc.py function request (line 34) | def request(query, params): function response (line 46) | def response(resp): FILE: searx/engines/lucide.py function request (line 30) | def request(query: str, params: "OnlineParams"): function response (line 36) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/marginalia.py class ApiSearchResult (line 59) | class ApiSearchResult(t.TypedDict): class ApiSearchResults (line 74) | class ApiSearchResults(t.TypedDict): function request (line 86) | def request(query: str, params: dict[str, t.Any]): function response (line 95) | def response(resp: SXNG_Response): function init (line 112) | def init(engine_settings: dict[str, t.Any]): FILE: searx/engines/mariadb_server.py function init (line 63) | def init(engine_settings): function search (line 75) | def search(query, params) -> EngineResults: FILE: searx/engines/mastodon.py function request (line 39) | def request(query, params): function response (line 50) | def response(resp): FILE: searx/engines/material_icons.py function request (line 23) | def request(query, params): function response (line 29) | def response(resp): FILE: searx/engines/mediathekviewweb.py function request (line 23) | def request(query, params): function response (line 49) | def response(resp): FILE: searx/engines/mediawiki.py function request (line 103) | def request(query, params): function response (line 134) | def response(resp): FILE: searx/engines/meilisearch.py function init (line 52) | def init(_): function request (line 60) | def request(query, params): function response (line 81) | def response(resp: SXNG_Response) -> EngineResults: FILE: searx/engines/metacpan.py function request (line 51) | def request(query, params): function response (line 61) | def response(resp): FILE: searx/engines/microsoft_learn.py function request (line 37) | def request(query, params): function response (line 61) | def response(resp) -> EngineResults: FILE: searx/engines/mixcloud.py function request (line 27) | def request(query, params): function response (line 33) | def response(resp): FILE: searx/engines/mojeek.py function init (line 53) | def init(_): function request (line 58) | def request(query, params): function _general_results (line 83) | def _general_results(dom): function _image_results (line 101) | def _image_results(dom): function _news_results (line 118) | def _news_results(dom): function response (line 133) | def response(resp): function fetch_traits (line 148) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/mongodb.py function init (line 72) | def init(_): function connect (line 76) | def connect(): function search (line 86) | def search(query, params) -> EngineResults: FILE: searx/engines/moviepilot.py function request (line 49) | def request(query, params): function response (line 85) | def response(resp): FILE: searx/engines/mozhi.py function request (line 28) | def request(_query, params): function response (line 36) | def response(resp) -> EngineResults: FILE: searx/engines/mrs.py function init (line 40) | def init(engine_settings): # pylint: disable=unused-argument function request (line 49) | def request(query, params): function response (line 54) | def response(resp): FILE: searx/engines/mwmbl.py function request (line 30) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/mysql_server.py function init (line 63) | def init(engine_settings): function search (line 82) | def search(query, params) -> EngineResults: FILE: searx/engines/naver.py function init (line 70) | def init(_): function request (line 75) | def request(query, params): function response (line 91) | def response(resp) -> EngineResults: function parse_general (line 97) | def parse_general(data): function parse_images (line 123) | def parse_images(data): function parse_news (line 147) | def parse_news(data): function parse_videos (line 183) | def parse_videos(data): FILE: searx/engines/niconico.py function request (line 37) | def request(query, params): function response (line 49) | def response(resp): FILE: searx/engines/npm.py function request (line 26) | def request(query: str, params): function response (line 39) | def response(resp): FILE: searx/engines/nvd.py function request (line 23) | def request(query, params): function response (line 39) | def response(resp) -> EngineResults: FILE: searx/engines/nyaa.py function request (line 42) | def request(query, params): function response (line 55) | def response(resp): FILE: searx/engines/odysee.py function request (line 36) | def request(query, params): function format_duration (line 65) | def format_duration(duration): function response (line 73) | def response(resp): function fetch_traits (line 112) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/ollama.py function request (line 30) | def request(query, params): function response (line 37) | def response(resp) -> EngineResults: FILE: searx/engines/open_meteo.py function request (line 42) | def request(query, params): function _weather_data (line 111) | def _weather_data(location: weather.GeoLocation, data: dict[str, t.Any]): function response (line 126) | def response(resp): FILE: searx/engines/openalex.py function request (line 123) | def request(query: str, params: "OnlineParams") -> None: function response (line 152) | def response(resp: "SXNG_Response") -> EngineResults: function _stringify_pages (line 190) | def _stringify_pages(biblio: dict[str, t.Any]) -> str: function _parse_date (line 202) | def _parse_date(value: str | None) -> datetime | None: function _doi_to_plain (line 214) | def _doi_to_plain(doi_value: str | None) -> str: function _reconstruct_abstract (line 221) | def _reconstruct_abstract( function _extract_links (line 242) | def _extract_links(item: dict[str, t.Any]) -> tuple[str, str, str]: function _extract_authors (line 256) | def _extract_authors(item: dict[str, t.Any]) -> list[str]: function _extract_tags (line 268) | def _extract_tags(item: dict[str, t.Any]) -> list[str]: function _extract_biblio (line 277) | def _extract_biblio( function _extract_comments (line 292) | def _extract_comments(item: dict[str, t.Any]) -> str: FILE: searx/engines/openclipart.py function request (line 23) | def request(query, params): function response (line 32) | def response(resp): FILE: searx/engines/openlibrary.py function request (line 58) | def request(query: str, params: "OnlineParams") -> None: function response (line 69) | def response(resp: "SXNG_Response") -> EngineResults: function _parse_date (line 103) | def _parse_date(date: str) -> datetime | None: FILE: searx/engines/opensemantic.py function request (line 22) | def request(query, params): function response (line 30) | def response(resp): FILE: searx/engines/openstreetmap.py function value_to_https_link (line 67) | def value_to_https_link(value): function value_to_website_link (line 74) | def value_to_website_link(value): function value_wikipedia_link (line 79) | def value_wikipedia_link(value): function value_with_prefix (line 84) | def value_with_prefix(prefix, value): function request (line 136) | def request(query, params): function response (line 141) | def response(resp) -> EngineResults: function get_wikipedia_image (line 205) | def get_wikipedia_image(raw_value): function fetch_wikidata (line 211) | def fetch_wikidata(nominatim_json, user_language): function get_title_address (line 260) | def get_title_address(result): function get_url_osm_geojson (line 306) | def get_url_osm_geojson(result): function get_img_src (line 326) | def get_img_src(result): function get_links (line 349) | def get_links(result, user_language): function get_data (line 375) | def get_data(result, user_language, ignore_keys): function get_key_rank (line 401) | def get_key_rank(k): function get_label (line 413) | def get_label(labels, lang): function get_tag_label (line 431) | def get_tag_label(tag_category, tag_name, lang): function get_key_label (line 438) | def get_key_label(key_name, lang): FILE: searx/engines/openverse.py function request (line 30) | def request(query, params): function response (line 39) | def response(resp): FILE: searx/engines/pdbe.py function request (line 33) | def request(query, params): function construct_body (line 41) | def construct_body(result): function response (line 82) | def response(resp): FILE: searx/engines/peertube.py function request (line 50) | def request(query, params): function response (line 87) | def response(resp): function video_response (line 91) | def video_response(resp): function fetch_traits (line 134) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/pexels.py function init (line 49) | def init(engine_settings): function _get_secret_key (line 54) | def _get_secret_key(): function request (line 81) | def request(query, params): function response (line 107) | def response(resp): FILE: searx/engines/photon.py function request (line 35) | def request(query, params): function response (line 50) | def response(resp): FILE: searx/engines/pinterest.py function request (line 21) | def request(query, params): function response (line 39) | def response(resp): FILE: searx/engines/piped.py function _backend_url (line 96) | def _backend_url() -> str: function _frontend_url (line 105) | def _frontend_url() -> str: function request (line 111) | def request(query, params): function response (line 130) | def response(resp): FILE: searx/engines/piratebay.py function request (line 47) | def request(query, params): function response (line 56) | def response(resp): FILE: searx/engines/pixabay.py function request (line 34) | def request(query, params): function _image_result (line 56) | def _image_result(result): function _video_result (line 68) | def _video_result(result): function response (line 82) | def response(resp): FILE: searx/engines/pixiv.py function request (line 27) | def request(query, params): function response (line 46) | def response(resp): FILE: searx/engines/pkg_go_dev.py function request (line 40) | def request(query, params): function response (line 51) | def response(resp): FILE: searx/engines/podcastindex.py function request (line 19) | def request(query, params): function response (line 24) | def response(resp): FILE: searx/engines/postgresql.py function init (line 58) | def init(engine_settings): function search (line 76) | def search(query, params) -> EngineResults: function _fetch_results (line 86) | def _fetch_results(cur) -> EngineResults: FILE: searx/engines/presearch.py function init (line 101) | def init(_): function _get_request_id (line 106) | def _get_request_id(query, params): function request (line 151) | def request(query, params): function _strip_leading_strings (line 160) | def _strip_leading_strings(text): function _fix_title (line 167) | def _fix_title(title, url): function parse_search_query (line 188) | def parse_search_query(json_results): function response (line 248) | def response(resp): FILE: searx/engines/public_domain_image_archive.py function _clean_url (line 53) | def _clean_url(url): function _get_algolia_api_url (line 60) | def _get_algolia_api_url(): function _clear_cached_api_url (line 86) | def _clear_cached_api_url(): function request (line 92) | def request(query, params): function response (line 110) | def response(resp): FILE: searx/engines/pubmed.py function request (line 64) | def request(query: str, params: "OnlineParams") -> None: function response (line 92) | def response(resp: "SXNG_Response") -> EngineResults: # pylint: disable... FILE: searx/engines/pypi.py function request (line 33) | def request(query, params): function response (line 42) | def response(resp): FILE: searx/engines/quark.py function is_alibaba_captcha (line 35) | def is_alibaba_captcha(html): function init (line 46) | def init(_): function request (line 51) | def request(query, params): function response (line 83) | def response(resp): function parse_addition (line 162) | def parse_addition(data): function parse_ai_page (line 170) | def parse_ai_page(data): function parse_baike_sc (line 195) | def parse_baike_sc(data): function parse_finance_shuidi (line 204) | def parse_finance_shuidi(data): function parse_kk_yidian_all (line 227) | def parse_kk_yidian_all(data): function parse_life_show_general_image (line 241) | def parse_life_show_general_image(data): function parse_med_struct (line 264) | def parse_med_struct(data): function parse_music_new_song (line 273) | def parse_music_new_song(data): function parse_nature_result (line 287) | def parse_nature_result(data): function parse_news_uchq (line 291) | def parse_news_uchq(data): function parse_ss_doc (line 312) | def parse_ss_doc(data): function parse_ss_note (line 353) | def parse_ss_note(data): function parse_travel_dest_overview (line 367) | def parse_travel_dest_overview(data): function parse_travel_ranking_list (line 375) | def parse_travel_ranking_list(data): FILE: searx/engines/qwant.py function request (line 110) | def request(query, params): function response (line 151) | def response(resp): function parse_web_lite (line 158) | def parse_web_lite(resp): function parse_web_api (line 179) | def parse_web_api(resp): function fetch_traits (line 321) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/radio_browser.py function init (line 59) | def init(_): function server_list (line 65) | def server_list() -> list[str]: function request (line 90) | def request(query, params): function response (line 123) | def response(resp): function fetch_traits (line 170) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/recoll.py function setup (line 79) | def setup(engine_settings: dict[str, t.Any]) -> bool: function search_after (line 96) | def search_after(time_range: str | None) -> str: function request (line 103) | def request(query: str, params: "OnlineParams") -> None: function response (line 114) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/reddit.py function request (line 27) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/repology.py function request (line 44) | def request(query: str, params: dict[str, t.Any]) -> None: function _get_most_common (line 51) | def _get_most_common(items: list[str | None]) -> str | None: function _flatten (line 62) | def _flatten(xss): function response (line 66) | def response(resp: 'SXNG_Response') -> EngineResults: FILE: searx/engines/reuters.py function request (line 59) | def request(query, params): function response (line 76) | def response(resp) -> EngineResults: function resize_url (line 97) | def resize_url(thumbnail: dict[str, str], width: int = 0, height: int = ... FILE: searx/engines/rottentomatoes.py function request (line 30) | def request(query, params): function response (line 35) | def response(resp): FILE: searx/engines/rumble.py function request (line 39) | def request(query, params): function response (line 47) | def response(resp): FILE: searx/engines/scanr_structures.py function request (line 30) | def request(query, params): function response (line 50) | def response(resp): FILE: searx/engines/searx_engine.py function request (line 27) | def request(query, params): function response (line 47) | def response(resp): FILE: searx/engines/selfhst.py function request (line 20) | def request(query, params): function response (line 26) | def response(resp): FILE: searx/engines/semantic_scholar.py function setup (line 60) | def setup(engine_settings: dict[str, t.Any]) -> bool: function get_ui_version (line 66) | def get_ui_version() -> str: function request (line 83) | def request(query: str, params: "OnlineParams") -> None: function response (line 106) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/senscritique.py function request (line 63) | def request(query: str, params: dict[str, t.Any]) -> dict[str, t.Any]: function response (line 80) | def response(resp) -> EngineResults: function parse_item (line 97) | def parse_item(item: dict[str, t.Any]) -> MainResult | None: function build_content_parts (line 120) | def build_content_parts(item: dict[str, t.Any], title: str, original_tit... FILE: searx/engines/sepiasearch.py function request (line 39) | def request(query, params): function response (line 74) | def response(resp): FILE: searx/engines/seznam.py function request (line 29) | def request(query, params): function response (line 47) | def response(resp): FILE: searx/engines/sogou.py function request (line 38) | def request(query, params): function response (line 53) | def response(resp): function _extract_url (line 83) | def _extract_url(url, item_html): function _parse_date (line 92) | def _parse_date(text): function _parse_results (line 104) | def _parse_results(item, item_html): function _parse_results_with_image (line 117) | def _parse_results_with_image(item, item_html): FILE: searx/engines/sogou_images.py function request (line 24) | def request(query, params): function response (line 34) | def response(resp): FILE: searx/engines/sogou_videos.py function request (line 25) | def request(query, params): function response (line 36) | def response(resp): FILE: searx/engines/sogou_wechat.py function request (line 28) | def request(query, params): function response (line 39) | def response(resp): FILE: searx/engines/solidtorrents.py function request (line 33) | def request(query, params): function response (line 44) | def response(resp): FILE: searx/engines/solr.py function init (line 49) | def init(_): function request (line 57) | def request(query, params): function response (line 76) | def response(resp: SXNG_Response) -> EngineResults: FILE: searx/engines/soundcloud.py function request (line 57) | def request(query, params): function response (line 82) | def response(resp): function init (line 118) | def init(engine_settings): # pylint: disable=unused-argument function get_client_id (line 123) | def get_client_id() -> str | None: FILE: searx/engines/sourcehut.py function request (line 62) | def request(query: str, params: "OnlineParams") -> None: function response (line 71) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/spotify.py function request (line 32) | def request(query, params): function response (line 52) | def response(resp): FILE: searx/engines/springer.py function setup (line 94) | def setup(engine_settings: dict[str, t.Any]) -> bool: function request (line 108) | def request(query: str, params: "OnlineParams") -> None: function response (line 120) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/sqlite.py function init (line 69) | def init(engine_settings): function sqlite_cursor (line 78) | def sqlite_cursor(): function search (line 96) | def search(query, params) -> EngineResults: FILE: searx/engines/stackexchange.py function request (line 32) | def request(query, params): function response (line 49) | def response(resp): FILE: searx/engines/startpage.py function init (line 167) | def init(_): function get_sc_code (line 179) | def get_sc_code(params): function request (line 228) | def request(query, params): function _parse_published_date (line 300) | def _parse_published_date(content: str) -> tuple[str, datetime | None]: function _get_web_result (line 329) | def _get_web_result(result): function _get_news_result (line 341) | def _get_news_result(result): function _get_image_result (line 366) | def _get_image_result(result) -> dict[str, t.Any] | None: function response (line 397) | def response(resp): function fetch_traits (line 422) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/steam.py function request (line 22) | def request(query, params): function response (line 28) | def response(resp) -> EngineResults: FILE: searx/engines/svgrepo.py function request (line 25) | def request(query, params): function response (line 30) | def response(resp): FILE: searx/engines/tagesschau.py function request (line 50) | def request(query, params): function response (line 62) | def response(resp): function _story (line 79) | def _story(item): function _video (line 89) | def _video(item): FILE: searx/engines/tineye.py function request (line 57) | def request(query, params): function parse_tineye_match (line 84) | def parse_tineye_match(match_json): function response (line 152) | def response(resp) -> EngineResults: FILE: searx/engines/tokyotoshokan.py function request (line 31) | def request(query, params): function response (line 38) | def response(resp): FILE: searx/engines/tootfinder.py function request (line 20) | def request(query, params): function response (line 25) | def response(resp): FILE: searx/engines/torznab.py function init (line 86) | def init(engine_settings=None): # pylint: disable=unused-argument function request (line 92) | def request(query: str, params: dict[str, t.Any]) -> dict[str, t.Any]: function response (line 108) | def response(resp: "SXNG_Response") -> list[dict[str, t.Any]]: function build_result (line 127) | def build_result(item: etree.Element) -> dict[str, t.Any]: function _map_result_url (line 171) | def _map_result_url(guid: str | None, comments: str | None) -> str | None: function _map_leechers (line 179) | def _map_leechers(leechers: str | None, seeders: str | None, peers: str ... function _map_published_date (line 187) | def _map_published_date(pubDate: str | None) -> datetime | None: function _map_torrent_file (line 196) | def _map_torrent_file(link: str | None, enclosure_url: str | None) -> st... function _map_magnet_link (line 204) | def _map_magnet_link( function get_attribute (line 221) | def get_attribute(item: etree.Element, property_name: str) -> str | None: function get_torznab_attribute (line 229) | def get_torznab_attribute(item: etree.Element, attribute_name: str) -> s... FILE: searx/engines/translated.py function request (line 27) | def request(query, params): # pylint: disable=unused-argument function response (line 37) | def response(resp) -> EngineResults: FILE: searx/engines/tubearchivist.py function absolute_url (line 114) | def absolute_url(relative_url): function init (line 118) | def init(_): function request (line 125) | def request(query, params): function response (line 136) | def response(resp) -> EngineResults: function video_response (line 142) | def video_response(resp, results: EngineResults) -> None: FILE: searx/engines/unsplash.py function clean_url (line 26) | def clean_url(url): function request (line 33) | def request(query, params): function response (line 46) | def response(resp): FILE: searx/engines/uxwing.py function request (line 23) | def request(query, params): function response (line 28) | def response(resp): FILE: searx/engines/valkey_server.py function init (line 56) | def init(_engine_settings): function search (line 67) | def search(query, _params) -> EngineResults: function search_keys (line 85) | def search_keys(query) -> list[dict]: FILE: searx/engines/vimeo.py function request (line 32) | def request(query, params): function response (line 39) | def response(resp): FILE: searx/engines/voidlinux.py function request (line 38) | def request(query, params): function response (line 50) | def response(resp): FILE: searx/engines/wallhaven.py function request (line 52) | def request(query, params): function response (line 66) | def response(resp): FILE: searx/engines/wikicommons.py function setup (line 80) | def setup(engine_settings: dict[str, t.Any]) -> bool: function request (line 94) | def request(query: str, params: "OnlineParams") -> None: function response (line 120) | def response(resp: "SXNG_Response") -> EngineResults: FILE: searx/engines/wikidata.py class WDAttribute (line 147) | class WDAttribute: method __init__ (line 149) | def __init__(self, name: str): method get_select (line 152) | def get_select(self): method get_label (line 155) | def get_label(self, language: str): method get_where (line 158) | def get_where(self): method get_wikibase_label (line 161) | def get_wikibase_label(self) -> str: method get_group_by (line 164) | def get_group_by(self) -> str: method get_str (line 167) | def get_str(self, result: dict[str, t.Any], language: str) -> str | No... method __repr__ (line 170) | def __repr__(self): class WDAmountAttribute (line 174) | class WDAmountAttribute(WDAttribute): method get_select (line 175) | def get_select(self) -> str: method get_where (line 178) | def get_where(self): method get_group_by (line 185) | def get_group_by(self) -> str: method get_str (line 188) | def get_str(self, result: dict[str, t.Any], language: str) -> str | None: class WDArticle (line 197) | class WDArticle(WDAttribute): method __init__ (line 199) | def __init__(self, language: str, kwargs: dict[str, t.Any] | None = No... method get_label (line 204) | def get_label(self, language: str): method get_select (line 208) | def get_select(self): method get_where (line 211) | def get_where(self): method get_group_by (line 219) | def get_group_by(self): method get_str (line 222) | def get_str(self, result: dict[str, t.Any], language: str) -> str | None: class WDLabelAttribute (line 227) | class WDLabelAttribute(WDAttribute): method get_select (line 228) | def get_select(self): method get_where (line 231) | def get_where(self): method get_wikibase_label (line 234) | def get_wikibase_label(self) -> str: method get_str (line 237) | def get_str(self, result: dict[str, t.Any], language: str) -> str | None: class WDURLAttribute (line 241) | class WDURLAttribute(WDAttribute): method __init__ (line 245) | def __init__( method get_str (line 276) | def get_str(self, result: dict[str, t.Any], language: str) -> str | None: class WDGeoAttribute (line 296) | class WDGeoAttribute(WDAttribute): method get_label (line 297) | def get_label(self, language: str): method get_select (line 300) | def get_select(self): method get_where (line 303) | def get_where(self): method get_group_by (line 310) | def get_group_by(self): method get_str (line 313) | def get_str(self, result: dict[str, t.Any], language: str) -> str | None: method get_geo_url (line 320) | def get_geo_url(self, result: dict[str, t.Any], osm_zoom: int = 19) ->... class WDImageAttribute (line 328) | class WDImageAttribute(WDURLAttribute): method __init__ (line 330) | def __init__(self, name: str, url_id: str | None = None, priority: int... class WDDateAttribute (line 335) | class WDDateAttribute(WDAttribute): method get_select (line 336) | def get_select(self): method get_where (line 339) | def get_where(self): method get_group_by (line 353) | def get_group_by(self): method format_8 (line 356) | def format_8(self, value: str, locale: str) -> str: # pylint: disable... method format_9 (line 360) | def format_9(self, value: str, locale: str) -> str: method format_10 (line 370) | def format_10(self, value: str, locale: str) -> str: method format_11 (line 375) | def format_11(self, value: str, locale: str) -> str: method format_13 (line 380) | def format_13(self, value: str, locale: str) -> str: method format_14 (line 390) | def format_14(self, value: str, locale: str) -> str: method get_str (line 412) | def get_str(self, result: dict[str, t.Any], language: str) -> str | None: function get_headers (line 447) | def get_headers() -> dict[str, str]: function get_label_for_entity (line 455) | def get_label_for_entity(entity_id: str, language: str) -> str: function send_wikidata_query (line 468) | def send_wikidata_query(query: str, method: str = "GET", **kwargs: dict[... function request (line 482) | def request(query: str, params: "OnlineParams") -> None: function response (line 499) | def response(resp: "SXNG_Response") -> list[dict[str, t.Any]]: function get_thumbnail (line 527) | def get_thumbnail(img_src: str | None) -> str | None: function get_results (line 566) | def get_results( function get_query (line 654) | def get_query(query: str, language: str) -> tuple[str, WDAttrList]: function get_attributes (line 671) | def get_attributes(language: str): function debug_explain_wikidata_query (line 818) | def debug_explain_wikidata_query(query: str, method: str = "GET"): function init (line 827) | def init(_): function init_wikidata_properties (line 833) | def init_wikidata_properties(): function fetch_traits (line 865) | def fetch_traits(engine_traits: EngineTraits): FILE: searx/engines/wikipedia.py function get_wiki_params (line 136) | def get_wiki_params(sxng_locale, eng_traits): function request (line 147) | def request(query, params): function response (line 163) | def response(resp): function fetch_traits (line 239) | def fetch_traits(engine_traits: EngineTraits): function fetch_wikimedia_traits (line 244) | def fetch_wikimedia_traits(engine_traits: EngineTraits): FILE: searx/engines/wolframalpha_api.py function request (line 42) | def request(query, params): function replace_pua_chars (line 50) | def replace_pua_chars(text): function response (line 70) | def response(resp): FILE: searx/engines/wolframalpha_noapi.py function init (line 54) | def init(engine_settings): function obtain_token (line 59) | def obtain_token() -> str: function request (line 69) | def request(query, params): function response (line 77) | def response(resp): FILE: searx/engines/wordnik.py function request (line 23) | def request(query, params): function response (line 28) | def response(resp): FILE: searx/engines/wttr.py function request (line 78) | def request(query, params): function _weather_data (line 85) | def _weather_data(location: weather.GeoLocation, data: dict[str, t.Any]): function response (line 103) | def response(resp): FILE: searx/engines/www1x.py function request (line 30) | def request(query, params): function response (line 37) | def response(resp): FILE: searx/engines/xpath.py function request (line 225) | def request(query, params): function response (line 266) | def response(resp) -> EngineResults: # pylint: disable=too-many-branches FILE: searx/engines/yacy.py function init (line 105) | def init(_): function _base_url (line 115) | def _base_url() -> str: function request (line 126) | def request(query, params): function response (line 149) | def response(resp): FILE: searx/engines/yahoo.py function build_sb_cookie (line 123) | def build_sb_cookie(cookie_params): function request (line 144) | def request(query, params): function parse_url (line 196) | def parse_url(url_string): function response (line 215) | def response(resp): FILE: searx/engines/yahoo_news.py function request (line 59) | def request(query, params): function response (line 67) | def response(resp): FILE: searx/engines/yandex.py function catch_bad_response (line 51) | def catch_bad_response(resp): function request (line 56) | def request(query, params): function response (line 88) | def response(resp): FILE: searx/engines/yandex_music.py function request (line 35) | def request(query, params): function response (line 43) | def response(resp): FILE: searx/engines/yep.py function request (line 39) | def request(query: str, params: 'OnlineParams') -> None: function response (line 51) | def response(resp: 'SXNG_Response') -> EngineResults: function fetch_traits (line 66) | def fetch_traits(engine_traits: 'EngineTraits'): FILE: searx/engines/youtube_api.py function request (line 34) | def request(query, params): function response (line 45) | def response(resp): FILE: searx/engines/youtube_noapi.py function request (line 38) | def request(query, params): function response (line 59) | def response(resp): function parse_next_page_response (line 65) | def parse_next_page_response(response_text): function parse_first_page_response (line 110) | def parse_first_page_response(response_text): function get_text_from_json (line 167) | def get_text_from_json(element): FILE: searx/engines/zlibrary.py function setup (line 84) | def setup(engine_settings: dict[str, t.Any]) -> bool: # pylint: disable... function request (line 97) | def request(query: str, params: "OnlineParams") -> None: function response (line 118) | def response(resp: "SXNG_Response") -> EngineResults: function domain_is_seized (line 132) | def domain_is_seized(dom: ElementType): function _text (line 136) | def _text(item: ElementType, selector: str) -> str | None: function _parse_result (line 140) | def _parse_result(item: ElementType) -> dict[str, t.Any]: function fetch_traits (line 184) | def fetch_traits(engine_traits: EngineTraits) -> None: FILE: searx/exceptions.py class SearxException (line 10) | class SearxException(Exception): class SearxParameterException (line 14) | class SearxParameterException(SearxException): method __init__ (line 17) | def __init__(self, name: str, value: t.Any): class SearxSettingsException (line 29) | class SearxSettingsException(SearxException): method __init__ (line 32) | def __init__(self, message: str | Exception, filename: str | None): class SearxEngineException (line 38) | class SearxEngineException(SearxException): class SearxXPathSyntaxException (line 42) | class SearxXPathSyntaxException(SearxEngineException): method __init__ (line 45) | def __init__(self, xpath_spec: "str | XPath", message: str): class SearxEngineResponseException (line 52) | class SearxEngineResponseException(SearxEngineException): class SearxEngineAPIException (line 56) | class SearxEngineAPIException(SearxEngineResponseException): class SearxEngineAccessDeniedException (line 60) | class SearxEngineAccessDeniedException(SearxEngineResponseException): method __init__ (line 67) | def __init__(self, suspended_time: int | None = None, message: str = '... method _get_default_suspended_time (line 82) | def _get_default_suspended_time(self) -> int: class SearxEngineCaptchaException (line 88) | class SearxEngineCaptchaException(SearxEngineAccessDeniedException): method __init__ (line 95) | def __init__(self, suspended_time: int | None = None, message: str = '... class SearxEngineTooManyRequestsException (line 99) | class SearxEngineTooManyRequestsException(SearxEngineAccessDeniedExcepti... method __init__ (line 109) | def __init__(self, suspended_time: int | None = None, message: str = '... class SearxEngineXPathException (line 113) | class SearxEngineXPathException(SearxEngineResponseException): method __init__ (line 116) | def __init__(self, xpath_spec: "str | XPath", message: str): FILE: searx/extended_types.py class SXNG_Request (line 36) | class SXNG_Request(flask.Request): class SXNG_Response (line 72) | class SXNG_Response(httpx.Response): FILE: searx/external_bang.py function get_node (line 17) | def get_node(external_bangs_db: dict[str, t.Any], bang: str): function get_bang_definition_and_ac (line 30) | def get_bang_definition_and_ac(external_bangs_db: dict[str, t.Any], bang... function resolve_bang_definition (line 49) | def resolve_bang_definition(bang_definition: str, query: str) -> tuple[s... function get_bang_definition_and_autocomplete (line 64) | def get_bang_definition_and_autocomplete( function get_bang_url (line 93) | def get_bang_url(search_query: "SearchQuery", external_bangs_db: dict[st... FILE: searx/external_urls.py function get_imdb_url_id (line 19) | def get_imdb_url_id(imdb_item_id: str): function get_wikimedia_image_id (line 24) | def get_wikimedia_image_id(url: str): function get_external_url (line 32) | def get_external_url(url_id: str, item_id: str | None, alternative: str ... function get_earth_coordinates_url (line 56) | def get_earth_coordinates_url(latitude, longitude, osm_zoom, alternative... function area_to_osm_zoom (line 66) | def area_to_osm_zoom(area): FILE: searx/favicons/__init__.py function is_active (line 22) | def is_active(): function init (line 26) | def init(): FILE: searx/favicons/cache.py function state (line 46) | def state(): function maintenance (line 52) | def maintenance(force: bool = True, debug: bool = False): function init (line 72) | def init(cfg: "FaviconCacheConfig"): class FaviconCacheConfig (line 93) | class FaviconCacheConfig(msgspec.Struct): # pylint: disable=too-few-pub... class FaviconCacheStats (line 142) | class FaviconCacheStats: method __sub__ (line 157) | def __sub__(self, other: "FaviconCacheStats") -> "FaviconCacheStats": method report (line 171) | def report(self, fmt: str = "{descr}: {val}\n"): class FaviconCache (line 183) | class FaviconCache(abc.ABC): method __init__ (line 187) | def __init__(self, cfg: FaviconCacheConfig): method __call__ (line 191) | def __call__(self, resolver: str, authority: str) -> None | tuple[None... method set (line 197) | def set(self, resolver: str, authority: str, mime: str | None, data: b... method state (line 202) | def state(self) -> FaviconCacheStats: method maintenance (line 207) | def maintenance(self, force: bool = False): class FaviconCacheNull (line 212) | class FaviconCacheNull(FaviconCache): method __init__ (line 219) | def __init__(self, cfg: FaviconCacheConfig): method __call__ (line 222) | def __call__(self, resolver: str, authority: str) -> None | tuple[None... method set (line 225) | def set(self, resolver: str, authority: str, mime: str | None, data: b... method state (line 228) | def state(self): method maintenance (line 231) | def maintenance(self, force: bool = False): class FaviconCacheSQLite (line 236) | class FaviconCacheSQLite(sqlitedb.SQLiteAppl, FaviconCache): # pyright:... method __init__ (line 312) | def __init__(self, cfg: FaviconCacheConfig): method __call__ (line 320) | def __call__(self, resolver: str, authority: str) -> None | tuple[None... method set (line 338) | def set(self, resolver: str, authority: str, mime: str | None, data: b... method next_maintenance_time (line 376) | def next_maintenance_time(self) -> int: method maintenance (line 381) | def maintenance(self, force: bool = False): method _query_val (line 429) | def _query_val(self, sql: str, default: t.Any = None): method state (line 437) | def state(self) -> FaviconCacheStats: class FaviconCacheMEM (line 447) | class FaviconCacheMEM(FaviconCache): method __init__ (line 457) | def __init__(self, cfg: FaviconCacheConfig): method __call__ (line 463) | def __call__(self, resolver: str, authority: str) -> None | tuple[byte... method set (line 473) | def set(self, resolver: str, authority: str, mime: str | None, data: b... method state (line 492) | def state(self): method maintenance (line 495) | def maintenance(self, force: bool = False): FILE: searx/favicons/config.py class FaviconConfig (line 20) | class FaviconConfig(msgspec.Struct): # pylint: disable=too-few-public-m... method from_toml_file (line 36) | def from_toml_file(cls, cfg_file: pathlib.Path, use_cache: bool) -> "F... class _FaviconConfig (line 62) | class _FaviconConfig(msgspec.Struct): # pylint: disable=too-few-public-... FILE: searx/favicons/proxy.py function init (line 29) | def init(cfg: "FaviconProxyConfig"): function _initial_resolver_map (line 34) | def _initial_resolver_map(): class FaviconProxyConfig (line 44) | class FaviconProxyConfig(msgspec.Struct): method get_resolver (line 68) | def get_resolver(self, name: str) -> Callable | None: method favicon (line 86) | def favicon(self, **replacements): method favicon_data_url (line 93) | def favicon_data_url(self, **replacements): function favicon_proxy (line 112) | def favicon_proxy(): function search_favicon (line 159) | def search_favicon(resolver: str, authority: str) -> tuple[None | bytes,... function favicon_url (line 195) | def favicon_url(authority: str) -> str: FILE: searx/favicons/resolvers.py function _req_args (line 20) | def _req_args(**kwargs): function allesedv (line 27) | def allesedv(domain: str, timeout: int) -> tuple[None | bytes, None | str]: function duckduckgo (line 43) | def duckduckgo(domain: str, timeout: int) -> tuple[None | bytes, None | ... function google (line 58) | def google(domain: str, timeout: int) -> tuple[None | bytes, None | str]: function yandex (line 79) | def yandex(domain: str, timeout: int) -> tuple[None | bytes, None | str]: FILE: searx/flaskfix.py class ReverseProxyPathFix (line 11) | class ReverseProxyPathFix: method __init__ (line 33) | def __init__(self, wsgi_app): method __call__ (line 54) | def __call__(self, environ, start_response): function patch_application (line 72) | def patch_application(app): FILE: searx/infopage/__init__.py function __getattr__ (line 45) | def __getattr__(name: str): class InfoPage (line 54) | class InfoPage: method __init__ (line 57) | def __init__(self, fname: str): method raw_content (line 61) | def raw_content(self): method content (line 67) | def content(self): method title (line 74) | def title(self): method html (line 83) | def html(self) -> str: method get_ctx (line 94) | def get_ctx(self) -> dict[str, str]: method __repr__ (line 113) | def __repr__(self): class InfoPageSet (line 117) | class InfoPageSet: # pylint: disable=too-few-public-methods method __init__ (line 127) | def __init__(self, page_class: type[InfoPage] | None = None, info_fold... method get_page (line 149) | def get_page(self, pagename: str, locale: str | None = None): method iter_pages (line 184) | def iter_pages(self, locale: str | None = None, fallback_to_default: b... FILE: searx/limiter.py function get_cfg (line 133) | def get_cfg() -> config.Config: function filter_request (line 147) | def filter_request(request: SXNG_Request) -> werkzeug.Response | None: function pre_request (line 212) | def pre_request(): function is_installed (line 217) | def is_installed(): function initialize (line 222) | def initialize(app: flask.Flask, settings): FILE: searx/locales.py function localeselector (line 86) | def localeselector(): function get_translations (line 110) | def get_translations(): function get_translation_locales (line 123) | def get_translation_locales() -> list[str]: function locales_initialize (line 142) | def locales_initialize(): function region_tag (line 153) | def region_tag(locale: babel.Locale) -> str: function language_tag (line 160) | def language_tag(locale: babel.Locale) -> str: function get_locale (line 170) | def get_locale(locale_tag: str) -> babel.Locale | None: function get_official_locales (line 181) | def get_official_locales( function get_engine_locale (line 218) | def get_engine_locale(searxng_locale: str, engine_locales: dict[str, str... function match_locale (line 372) | def match_locale(searxng_locale: str, locale_tag_list: list[str], fallba... function build_engine_locales (line 421) | def build_engine_locales(tag_list: list[str]) -> dict[str, str]: FILE: searx/metrics/__init__.py function histogram_observe_time (line 36) | def histogram_observe_time(*args): function histogram_observe (line 47) | def histogram_observe(duration, *args): function histogram (line 51) | def histogram(*args, raise_on_not_found=True): function counter_inc (line 58) | def counter_inc(*args: str): function counter_add (line 62) | def counter_add(value: int, *args: str): function counter (line 66) | def counter(*args): function initialize (line 70) | def initialize(engine_names: list[str] | None = None, enabled: bool = Tr... function get_engine_errors (line 111) | def get_engine_errors(engline_name_list): function get_reliabilities (line 142) | def get_reliabilities(engline_name_list): function get_engines_stats (line 166) | def get_engines_stats(engine_name_list: list[str]): function openmetrics (line 243) | def openmetrics(engine_stats, engine_reliabilities): FILE: searx/metrics/error_recorder.py class ErrorContext (line 25) | class ErrorContext: # pylint: disable=missing-class-docstring method __init__ (line 27) | def __init__( # pylint: disable=too-many-arguments method __eq__ (line 47) | def __eq__(self, o) -> bool: # pylint: disable=invalid-name method __hash__ (line 61) | def __hash__(self): method __repr__ (line 75) | def __repr__(self): function add_error_context (line 87) | def add_error_context(engine_name: str, error_context: ErrorContext) -> ... function get_trace (line 93) | def get_trace(traces): function get_hostname (line 103) | def get_hostname(exc: HTTPError) -> str | None: function get_request_exception_messages (line 110) | def get_request_exception_messages( function get_messages (line 131) | def get_messages(exc, filename) -> tuple[str, ...]: # pylint: disable=t... function get_exception_classname (line 151) | def get_exception_classname(exc: BaseException) -> str: function get_error_context (line 160) | def get_error_context( function count_exception (line 174) | def count_exception(engine_name: str, exc: BaseException, secondary: boo... function count_error (line 187) | def count_error( FILE: searx/metrics/models.py class Histogram (line 17) | class Histogram: # pylint: disable=missing-class-docstring method __init__ (line 21) | def __init__(self, width=10, size=200): method observe (line 29) | def observe(self, value): method quartiles (line 43) | def quartiles(self): method count (line 47) | def count(self): method sum (line 51) | def sum(self): method average (line 55) | def average(self): method quartile_percentage (line 62) | def quartile_percentage(self): method quartile_percentage_map (line 70) | def quartile_percentage_map(self): method percentage (line 85) | def percentage(self, percentage): method __repr__ (line 100) | def __repr__(self): class HistogramStorage (line 104) | class HistogramStorage: # pylint: disable=missing-class-docstring method __init__ (line 108) | def __init__(self, histogram_class=Histogram): method clear (line 112) | def clear(self): method configure (line 115) | def configure(self, width, size, *args): method get (line 120) | def get(self, *args): method dump (line 123) | def dump(self): class CounterStorage (line 130) | class CounterStorage: # pylint: disable=missing-class-docstring method __init__ (line 134) | def __init__(self): method clear (line 138) | def clear(self): method configure (line 142) | def configure(self, *args: str): method get (line 146) | def get(self, *args: str): method add (line 149) | def add(self, value: int, *args: str): method dump (line 153) | def dump(self): class VoidHistogram (line 161) | class VoidHistogram(Histogram): # pylint: disable=missing-class-docstring method observe (line 162) | def observe(self, value): class VoidCounterStorage (line 166) | class VoidCounterStorage(CounterStorage): # pylint: disable=missing-cla... method add (line 167) | def add(self, value, *args): FILE: searx/network/__init__.py function reset_time_for_thread (line 32) | def reset_time_for_thread(): function get_time_for_thread (line 36) | def get_time_for_thread() -> float | None: function set_timeout_for_thread (line 41) | def set_timeout_for_thread(timeout: float, start_time: float | None = No... function set_context_network_name (line 46) | def set_context_network_name(network_name: str): function get_context_network (line 50) | def get_context_network() -> "Network": function _record_http_time (line 59) | def _record_http_time(): function _get_timeout (line 73) | def _get_timeout(start_time: float, kwargs: t.Any) -> float: function request (line 96) | def request(method: str, url: str, **kwargs: t.Any) -> SXNG_Response: function multi_requests (line 111) | def multi_requests(request_list: list["Request"]) -> list[httpx.Response... class Request (line 137) | class Request(t.NamedTuple): method get (line 145) | def get(url: str, **kwargs: t.Any): method options (line 149) | def options(url: str, **kwargs: t.Any): method head (line 153) | def head(url: str, **kwargs: t.Any): method post (line 157) | def post(url: str, **kwargs: t.Any): method put (line 161) | def put(url: str, **kwargs: t.Any): method patch (line 165) | def patch(url: str, **kwargs: t.Any): method delete (line 169) | def delete(url: str, **kwargs: t.Any): function get (line 173) | def get(url: str, **kwargs: t.Any) -> SXNG_Response: function options (line 178) | def options(url: str, **kwargs: t.Any) -> SXNG_Response: function head (line 183) | def head(url: str, **kwargs: t.Any) -> SXNG_Response: function post (line 188) | def post(url: str, data: dict[str, t.Any] | None = None, **kwargs: t.Any... function put (line 192) | def put(url: str, data: dict[str, t.Any] | None = None, **kwargs: t.Any)... function patch (line 196) | def patch(url: str, data: dict[str, t.Any] | None = None, **kwargs: t.An... function delete (line 200) | def delete(url: str, **kwargs: t.Any) -> SXNG_Response: function stream_chunk_to_queue (line 204) | async def stream_chunk_to_queue(network, queue, method: str, url: str, *... function _stream_generator (line 230) | def _stream_generator(method: str, url: str, **kwargs: t.Any): function _close_response_method (line 245) | def _close_response_method(self): function stream (line 255) | def stream(method: str, url: str, **kwargs: t.Any) -> tuple[SXNG_Respons... FILE: searx/network/client.py function shuffle_ciphers (line 28) | def shuffle_ciphers(ssl_context: SSLContext): function get_sslcontexts (line 51) | def get_sslcontexts( class AsyncHTTPTransportNoHttp (line 61) | class AsyncHTTPTransportNoHttp(httpx.AsyncHTTPTransport): method __init__ (line 74) | def __init__(self, *args, **kwargs): # type: ignore method handle_async_request (line 79) | async def handle_async_request(self, request: httpx.Request): method aclose (line 82) | async def aclose(self) -> None: method __aenter__ (line 85) | async def __aenter__(self): method __aexit__ (line 88) | async def __aexit__( class AsyncProxyTransportFixed (line 97) | class AsyncProxyTransportFixed(AsyncProxyTransport): method handle_async_request (line 103) | async def handle_async_request(self, request: httpx.Request): function get_transport_for_socks_proxy (line 114) | def get_transport_for_socks_proxy( function get_transport (line 145) | def get_transport( function new_client (line 160) | def new_client( function get_loop (line 209) | def get_loop() -> asyncio.AbstractEventLoop: function init (line 213) | def init(): FILE: searx/network/network.py class Network (line 45) | class Network: method __init__ (line 68) | def __init__( method check_parameters (line 104) | def check_parameters(self): method iter_ipaddresses (line 114) | def iter_ipaddresses(self) -> Generator[str]: method get_ipaddress_cycle (line 122) | def get_ipaddress_cycle(self): method iter_proxies (line 137) | def iter_proxies(self) -> Generator[tuple[str, list[str]]]: method get_proxy_cycles (line 150) | def get_proxy_cycles(self) -> Generator[tuple[tuple[str, str], ...], s... method log_response (line 158) | async def log_response(self, response: httpx.Response): method check_tor_proxy (line 167) | async def check_tor_proxy(client: httpx.AsyncClient, proxies) -> bool: method get_client (line 190) | async def get_client(self, verify: bool | None = None, max_redirects: ... method aclose (line 217) | async def aclose(self): method extract_kwargs_clients (line 227) | def extract_kwargs_clients(kwargs: dict[str, t.Any]) -> dict[str, t.Any]: method extract_do_raise_for_httperror (line 239) | def extract_do_raise_for_httperror(kwargs: dict[str, t.Any]): method patch_response (line 246) | def patch_response(self, response: httpx.Response, do_raise_for_httper... method is_valid_response (line 262) | def is_valid_response(self, response: httpx.Response): method call_client (line 272) | async def call_client(self, stream: bool, method: str, url: str, **kwa... method request (line 303) | async def request(self, method: str, url: str, **kwargs: t.Any) -> SXN... method stream (line 306) | async def stream(self, method: str, url: str, **kwargs): method aclose_all (line 310) | async def aclose_all(cls): function get_network (line 314) | def get_network(name: str | None = None) -> "Network": function check_network_configuration (line 318) | def check_network_configuration(): function initialize (line 329) | def initialize( function done (line 417) | def done(): FILE: searx/network/raise_for_httperror.py function is_cloudflare_challenge (line 16) | def is_cloudflare_challenge(resp: "SXNG_Response"): function is_cloudflare_firewall (line 29) | def is_cloudflare_firewall(resp: "SXNG_Response"): function raise_for_cloudflare_captcha (line 33) | def raise_for_cloudflare_captcha(resp: "SXNG_Response"): function raise_for_recaptcha (line 49) | def raise_for_recaptcha(resp: "SXNG_Response"): function raise_for_captcha (line 56) | def raise_for_captcha(resp: "SXNG_Response"): function raise_for_httperror (line 61) | def raise_for_httperror(resp: "SXNG_Response") -> None: FILE: searx/openmetrics.py class OpenMetricsFamily (line 11) | class OpenMetricsFamily: # pylint: disable=too-few-public-methods method __init__ (line 31) | def __init__( method __str__ (line 40) | def __str__(self): FILE: searx/plugins/__init__.py function initialize (line 107) | def initialize(app): FILE: searx/plugins/_core.py class PluginInfo (line 28) | class PluginInfo: class Plugin (line 68) | class Plugin(abc.ABC): method __init__ (line 92) | def __init__(self, plg_cfg: "PluginCfg") -> None: method __hash__ (line 115) | def __hash__(self) -> int: method __eq__ (line 123) | def __eq__(self, other: t.Any): method init (line 129) | def init(self, app: "flask.Flask") -> bool: # pylint: disable=unused-... method pre_search (line 141) | def pre_search(self, request: SXNG_Request, search: "SearchWithPlugins... method on_result (line 149) | def on_result(self, request: SXNG_Request, search: "SearchWithPlugins"... method post_search (line 169) | def post_search( class PluginCfg (line 179) | class PluginCfg: class PluginStorage (line 192) | class PluginStorage: method __init__ (line 198) | def __init__(self): method __iter__ (line 201) | def __iter__(self) -> Generator[Plugin]: method __len__ (line 204) | def __len__(self): method info (line 208) | def info(self) -> list[PluginInfo]: method load_settings (line 212) | def load_settings(self, cfg: dict[str, dict[str, t.Any]]): method register (line 231) | def register(self, plugin: Plugin): method init (line 244) | def init(self, app: "flask.Flask") -> None: method pre_search (line 253) | def pre_search(self, request: SXNG_Request, search: "SearchWithPlugins... method on_result (line 267) | def on_result(self, request: SXNG_Request, search: "SearchWithPlugins"... method post_search (line 282) | def post_search(self, request: SXNG_Request, search: "SearchWithPlugin... FILE: searx/plugins/ahmia_filter.py class SXNGPlugin (line 24) | class SXNGPlugin(Plugin): method __init__ (line 29) | def __init__(self, plg_cfg: "PluginCfg") -> None: method on_result (line 38) | def on_result( method init (line 46) | def init(self, app: "flask.Flask") -> bool: # pylint: disable=unused-... FILE: searx/plugins/calculator.py class SXNGPlugin (line 15) | class SXNGPlugin(Plugin): method __init__ (line 20) | def __init__(self, plg_cfg: "PluginCfg") -> None: FILE: searx/plugins/hash_plugin.py class SXNGPlugin (line 19) | class SXNGPlugin(Plugin): method __init__ (line 27) | def __init__(self, plg_cfg: "PluginCfg") -> None: method post_search (line 41) | def post_search(self, request: "SXNG_Request", search: "SearchWithPlug... FILE: searx/plugins/hostnames.py class SXNGPlugin (line 110) | class SXNGPlugin(Plugin): method __init__ (line 115) | def __init__(self, plg_cfg: "PluginCfg") -> None: method on_result (line 124) | def on_result(self, request: "SXNG_Request", search: "SearchWithPlugin... method init (line 147) | def init(self, app: "flask.Flask") -> bool: # pylint: disable=unused-... method _load_regular_expressions (line 161) | def _load_regular_expressions(self, settings_key) -> dict[re.Pattern, ... function filter_url_field (line 180) | def filter_url_field(result: "Result|LegacyResult", field_name: str, url... FILE: searx/plugins/infinite_scroll.py class SXNGPlugin (line 15) | class SXNGPlugin(Plugin): method __init__ (line 20) | def __init__(self, plg_cfg: "PluginCfg") -> None: FILE: searx/plugins/oa_doi_rewrite.py function filter_url_field (line 25) | def filter_url_field(result: "Result|LegacyResult", field_name: str, url... class SXNGPlugin (line 45) | class SXNGPlugin(Plugin): method __init__ (line 50) | def __init__(self, plg_cfg: "PluginCfg") -> None: method on_result (line 59) | def on_result( function extract_doi (line 73) | def extract_doi(url): function get_doi_resolver (line 84) | def get_doi_resolver() -> str: FILE: searx/plugins/self_info.py class SXNGPlugin (line 20) | class SXNGPlugin(Plugin): method __init__ (line 29) | def __init__(self, plg_cfg: "PluginCfg"): method post_search (line 44) | def post_search(self, request: "SXNG_Request", search: "SearchWithPlug... FILE: searx/plugins/time_zone.py class SXNGPlugin (line 21) | class SXNGPlugin(Plugin): method __init__ (line 28) | def __init__(self, plg_cfg: "PluginCfg"): method post_search (line 39) | def post_search(self, request: "SXNG_Request", search: "SearchWithPlug... FILE: searx/plugins/tor_check.py class SXNGPlugin (line 31) | class SXNGPlugin(Plugin): method __init__ (line 37) | def __init__(self, plg_cfg: "PluginCfg") -> None: method post_search (line 49) | def post_search(self, request: "SXNG_Request", search: "SearchWithPlug... FILE: searx/plugins/tracker_url_remover.py class SXNGPlugin (line 25) | class SXNGPlugin(Plugin): method __init__ (line 30) | def __init__(self, plg_cfg: "PluginCfg") -> None: method init (line 40) | def init(self, app: "flask.Flask") -> bool: method on_result (line 44) | def on_result(self, request: "SXNG_Request", search: "SearchWithPlugin... method filter_url_field (line 50) | def filter_url_field(cls, result: "Result|LegacyResult", field_name: s... FILE: searx/plugins/unit_converter.py class SXNGPlugin (line 30) | class SXNGPlugin(Plugin): method __init__ (line 37) | def __init__(self, plg_cfg: "PluginCfg") -> None: method post_search (line 47) | def post_search(self, request: "SXNG_Request", search: "SearchWithPlug... function _parse_text_and_convert (line 82) | def _parse_text_and_convert(from_query, to_query) -> str | None: FILE: searx/preferences.py class ValidationException (line 44) | class ValidationException(Exception): class Setting (line 48) | class Setting: method __init__ (line 51) | def __init__(self, default_value: t.Any, locked: bool = False): method parse (line 56) | def parse(self, data: str): method get_value (line 63) | def get_value(self): method save (line 70) | def save(self, name: str, resp: flask.Response): class StringSetting (line 77) | class StringSetting(Setting): class EnumStringSetting (line 81) | class EnumStringSetting(Setting): method __init__ (line 86) | def __init__(self, default_value: str, choices: Iterable[str], locked:... method _validate_selection (line 91) | def _validate_selection(self, selection: str): method parse (line 95) | def parse(self, data: str): class MultipleChoiceSetting (line 101) | class MultipleChoiceSetting(Setting): method __init__ (line 104) | def __init__(self, default_value: list[str], choices: Iterable[str], l... method _validate_selections (line 109) | def _validate_selections(self, selections: list[str]): method parse (line 114) | def parse(self, data: str): method parse_form (line 124) | def parse_form(self, data: list[str]): method save (line 133) | def save(self, name: str, resp: flask.Response): class SetSetting (line 138) | class SetSetting(Setting): method __init__ (line 141) | def __init__(self, *args, **kwargs): # type: ignore method get_value (line 145) | def get_value(self): method parse (line 149) | def parse(self, data: str): method parse_form (line 159) | def parse_form(self, data: str): method save (line 166) | def save(self, name: str, resp: flask.Response): class SearchLanguageSetting (line 171) | class SearchLanguageSetting(EnumStringSetting): method _validate_selection (line 176) | def _validate_selection(self, selection: str): method parse (line 180) | def parse(self, data: str): class MapSetting (line 197) | class MapSetting(Setting): method __init__ (line 203) | def __init__( method parse (line 212) | def parse(self, data: str): method save (line 220) | def save(self, name: str, resp: flask.Response): class BooleanSetting (line 226) | class BooleanSetting(Setting): method normalized_str (line 232) | def normalized_str(self, val: t.Any) -> str: method parse (line 238) | def parse(self, data: str): method save (line 243) | def save(self, name: str, resp: flask.Response): class BooleanChoices (line 249) | class BooleanChoices: method __init__ (line 252) | def __init__(self, name: str, choices: dict[str, bool], locked: bool =... method transform_form_items (line 258) | def transform_form_items(self, items): method transform_values (line 261) | def transform_values(self, values): method parse_cookie (line 264) | def parse_cookie(self, data_disabled: str, data_enabled: str): method parse_form (line 273) | def parse_form(self, items: list[str]): method enabled (line 282) | def enabled(self): method disabled (line 286) | def disabled(self): method save (line 289) | def save(self, resp: flask.Response): method get_disabled (line 296) | def get_disabled(self): method get_enabled (line 299) | def get_enabled(self): class EnginesSetting (line 303) | class EnginesSetting(BooleanChoices): method __init__ (line 306) | def __init__(self, default_value, engines: Iterable[Engine]): method transform_form_items (line 315) | def transform_form_items(self, items): method transform_values (line 318) | def transform_values(self, values): class PluginsSetting (line 328) | class PluginsSetting(BooleanChoices): method __init__ (line 331) | def __init__(self, default_value, plugins: Iterable[searx.plugins.Plug... method transform_form_items (line 334) | def transform_form_items(self, items): class ClientPref (line 338) | class ClientPref: method __init__ (line 346) | def __init__(self, locale: babel.Locale | None = None): method locale_tag (line 350) | def locale_tag(self): method from_http_request (line 359) | def from_http_request(cls, http_request: SXNG_Request): class Preferences (line 389) | class Preferences: method __init__ (line 392) | def __init__( method get_as_url_params (line 499) | def get_as_url_params(self): method parse_encoded_data (line 520) | def parse_encoded_data(self, input_data: str): method parse_dict (line 528) | def parse_dict(self, input_data: dict[str, str]): method parse_form (line 542) | def parse_form(self, input_data: dict[str, str]): method get_value (line 571) | def get_value(self, user_setting_name: str) -> t.Any: method save (line 578) | def save(self, resp: flask.Response): method validate_token (line 590) | def validate_token(self, engine): function is_locked (line 602) | def is_locked(setting_name: str): FILE: searx/query.py class QueryPartParser (line 15) | class QueryPartParser(ABC): method check (line 21) | def check(raw_value): method __init__ (line 24) | def __init__(self, raw_text_query, enable_autocomplete): method __call__ (line 29) | def __call__(self, raw_value): method _add_autocomplete (line 38) | def _add_autocomplete(self, value): class TimeoutParser (line 43) | class TimeoutParser(QueryPartParser): method check (line 45) | def check(raw_value): method __call__ (line 48) | def __call__(self, raw_value): method _parse (line 55) | def _parse(self, value): method _autocomplete (line 67) | def _autocomplete(self): class LanguageParser (line 72) | class LanguageParser(QueryPartParser): method check (line 74) | def check(raw_value): method __call__ (line 77) | def __call__(self, raw_value): method _parse (line 84) | def _parse(self, value): method _autocomplete (line 118) | def _autocomplete(self, value): class ExternalBangParser (line 151) | class ExternalBangParser(QueryPartParser): method check (line 153) | def check(raw_value): method __call__ (line 156) | def __call__(self, raw_value): method _parse (line 163) | def _parse(self, value): method _autocomplete (line 171) | def _autocomplete(self, bang_ac_list): class BangParser (line 178) | class BangParser(QueryPartParser): method check (line 180) | def check(raw_value): method __call__ (line 184) | def __call__(self, raw_value): method _parse (line 193) | def _parse(self, value): method _autocomplete (line 216) | def _autocomplete(self, first_char, value): class FeelingLuckyParser (line 240) | class FeelingLuckyParser(QueryPartParser): method check (line 242) | def check(raw_value): method __call__ (line 245) | def __call__(self, raw_value): class RawTextQuery (line 250) | class RawTextQuery: method __init__ (line 261) | def __init__(self, query: str, disabled_engines: list): method _parse_query (line 280) | def _parse_query(self): method get_autocomplete_full_query (line 311) | def get_autocomplete_full_query(self, text): method changeQuery (line 316) | def changeQuery(self, query): method getQuery (line 323) | def getQuery(self): method getFullQuery (line 326) | def getFullQuery(self): method __str__ (line 332) | def __str__(self): method __repr__ (line 335) | def __repr__(self): FILE: searx/result_types/__init__.py class ResultList (line 40) | class ResultList(list[Result | LegacyResult], abc.ABC): class types (line 44) | class types: # pylint: disable=invalid-name method __init__ (line 61) | def __init__(self): method add (line 65) | def add(self, result: Result | LegacyResult): class EngineResults (line 70) | class EngineResults(ResultList): FILE: searx/result_types/_base.py function _normalize_url_fields (line 38) | def _normalize_url_fields(result: "Result | LegacyResult"): function _normalize_text_fields (line 85) | def _normalize_text_fields(result: "MainResult | LegacyResult"): function _filter_urls (line 111) | def _filter_urls( function _normalize_date_fields (line 219) | def _normalize_date_fields(result: "MainResult | LegacyResult"): class Result (line 228) | class Result(msgspec.Struct, kw_only=True): method normalize_result_fields (line 248) | def normalize_result_fields(self): method __post_init__ (line 258) | def __post_init__(self): method filter_urls (line 261) | def filter_urls(self, filter_func: "Callable[[Result | LegacyResult, s... method __hash__ (line 288) | def __hash__(self) -> int: method __eq__ (line 301) | def __eq__(self, other: object): method __setitem__ (line 310) | def __setitem__(self, field_name: str, value: t.Any): method __getitem__ (line 314) | def __getitem__(self, field_name: str) -> t.Any: method __iter__ (line 320) | def __iter__(self): method as_dict (line 324) | def as_dict(self): method defaults_from (line 327) | def defaults_from(self, other: "Result"): class MainResult (line 339) | class MainResult(Result): # pylint: disable=missing-class-docstring method __hash__ (line 405) | def __hash__(self) -> int: method normalize_result_fields (line 420) | def normalize_result_fields(self): class LegacyResult (line 428) | class LegacyResult(dict[str, t.Any]): method as_dict (line 467) | def as_dict(self): method __init__ (line 470) | def __init__(self, *args: t.Any, **kwargs: t.Any): method __getattr__ (line 513) | def __getattr__(self, name: str, default: t.Any = UNSET) -> t.Any: method __setattr__ (line 518) | def __setattr__(self, name: str, val: t.Any): method __hash__ (line 521) | def __hash__(self) -> int: # pyright: ignore[reportIncompatibleVariab... method __eq__ (line 549) | def __eq__(self, other: object): method __repr__ (line 553) | def __repr__(self) -> str: method normalize_result_fields (line 557) | def normalize_result_fields(self): method defaults_from (line 564) | def defaults_from(self, other: "LegacyResult"): method filter_urls (line 572) | def filter_urls(self, filter_func: "Callable[[Result | LegacyResult, s... FILE: searx/result_types/answer.py class BaseAnswer (line 41) | class BaseAnswer(Result, kw_only=True): class AnswerSet (line 46) | class AnswerSet: method __init__ (line 49) | def __init__(self): method __len__ (line 52) | def __len__(self): method __bool__ (line 55) | def __bool__(self): method add (line 58) | def add(self, answer: BaseAnswer) -> None: method __iter__ (line 65) | def __iter__(self): method __contains__ (line 70) | def __contains__(self, answer: BaseAnswer) -> bool: class Answer (line 78) | class Answer(BaseAnswer, kw_only=True): method __hash__ (line 88) | def __hash__(self): class Translations (line 95) | class Translations(BaseAnswer, kw_only=True): method __post_init__ (line 124) | def __post_init__(self): class Item (line 128) | class Item(msgspec.Struct, kw_only=True): class WeatherAnswer (line 153) | class WeatherAnswer(BaseAnswer, kw_only=True): class Item (line 169) | class Item(msgspec.Struct, kw_only=True): method __post_init__ (line 221) | def __post_init__(self): method url (line 230) | def url(self) -> str | None: FILE: searx/result_types/code.py function is_valid_language (line 33) | def is_valid_language(code_language: str) -> bool: class Code (line 44) | class Code(MainResult, kw_only=True): method __post_init__ (line 92) | def __post_init__(self): method __hash__ (line 101) | def __hash__(self): method get_lexer (line 108) | def get_lexer(self): method HTML (line 124) | def HTML(self, **options) -> str: # pyright: ignore[reportUnknownPara... FILE: searx/result_types/file.py class File (line 26) | class File(MainResult, kw_only=True): method __post_init__ (line 72) | def __post_init__(self): FILE: searx/result_types/keyvalue.py class KeyValue (line 25) | class KeyValue(MainResult, kw_only=True): method __hash__ (line 43) | def __hash__(self) -> int: FILE: searx/result_types/paper.py class Paper (line 33) | class Paper(MainResult, kw_only=True): method __post_init__ (line 91) | def __post_init__(self): FILE: searx/results.py function calculate_score (line 17) | def calculate_score( class Timing (line 41) | class Timing(t.NamedTuple): class UnresponsiveEngine (line 47) | class UnresponsiveEngine(t.NamedTuple): class ResultContainer (line 53) | class ResultContainer: method __init__ (line 65) | def __init__(self): method extend (line 83) | def extend( method _merge_infobox (line 160) | def _merge_infobox(self, new_infobox: LegacyResult): method _merge_main_result (line 173) | def _merge_main_result(self, result: MainResult | LegacyResult, positi... method close (line 189) | def close(self): method get_ordered_results (line 197) | def get_ordered_results(self) -> list[MainResult | LegacyResult]: method number_of_results (line 256) | def number_of_results(self) -> int: method add_unresponsive_engine (line 274) | def add_unresponsive_engine(self, engine_name: str, error_type: str, s... method add_timing (line 282) | def add_timing(self, engine_name: str, engine_time: float, page_load_t... method get_timings (line 289) | def get_timings(self) -> list[Timing]: function merge_two_infoboxes (line 297) | def merge_two_infoboxes(origin: LegacyResult, other: LegacyResult): function merge_two_main_results (line 357) | def merge_two_main_results(origin: MainResult | LegacyResult, other: Mai... FILE: searx/search/__init__.py function initialize (line 33) | def initialize( class Search (line 47) | class Search: method __init__ (line 50) | def __init__(self, search_query: "SearchQuery"): method search_external_bang (line 59) | def search_external_bang(self) -> bool: method search_answerers (line 71) | def search_answerers(self): method _get_requests (line 78) | def _get_requests(self) -> tuple[list[tuple[str, str, RequestParams]],... method search_multiple_requests (line 136) | def search_multiple_requests(self, requests: list[tuple[str, str, Requ... method search_standard (line 160) | def search_standard(self): method search (line 174) | def search(self) -> ResultContainer: class SearchWithPlugins (line 182) | class SearchWithPlugins(Search): method __init__ (line 185) | def __init__(self, search_query: "SearchQuery", request: "SXNG_Request... method _on_result (line 198) | def _on_result(self, result): method search (line 201) | def search(self) -> ResultContainer: FILE: searx/search/models.py class EngineRef (line 8) | class EngineRef: method __init__ (line 13) | def __init__(self, name: str, category: str): method __repr__ (line 17) | def __repr__(self): method __eq__ (line 20) | def __eq__(self, other): method __hash__ (line 23) | def __hash__(self): class SearchQuery (line 28) | class SearchQuery: method __init__ (line 31) | def __init__( method categories (line 63) | def categories(self): method __repr__ (line 66) | def __repr__(self): method __eq__ (line 79) | def __eq__(self, other): method __hash__ (line 92) | def __hash__(self): method __copy__ (line 107) | def __copy__(self): FILE: searx/search/processors/__init__.py class ProcessorMap (line 35) | class ProcessorMap(dict[str, EngineProcessor]): method init (line 47) | def init(self, engine_list: list[dict[str, t.Any]]): method register_processor (line 71) | def register_processor(self, eng_proc: EngineProcessor, eng_proc_ok: b... FILE: searx/search/processors/abstract.py class RequestParams (line 31) | class RequestParams(t.TypedDict): class SuspendedStatus (line 77) | class SuspendedStatus: method __init__ (line 80) | def __init__(self): method is_suspended (line 87) | def is_suspended(self): method suspend (line 90) | def suspend(self, suspended_time: int | None, suspend_reason: str): method resume (line 103) | def resume(self): class EngineProcessor (line 111) | class EngineProcessor(ABC): method __init__ (line 116) | def __init__(self, engine: "Engine|types.ModuleType"): method initialize (line 123) | def initialize(self, callback: t.Callable[["EngineProcessor", bool], b... method init_engine (line 151) | def init_engine(self) -> bool: method handle_exception (line 165) | def handle_exception( method _extend_container_basic (line 193) | def _extend_container_basic( method extend_container (line 210) | def extend_container( method extend_container_if_suspended (line 225) | def extend_container_if_suspended(self, result_container: "ResultConta... method get_params (line 233) | def get_params(self, search_query: "SearchQuery", engine_category: str... method search (line 282) | def search( method get_tests (line 292) | def get_tests(self): method get_default_tests (line 296) | def get_default_tests(self): FILE: searx/search/processors/offline.py class OfflineProcessor (line 11) | class OfflineProcessor(EngineProcessor): method search (line 16) | def search( FILE: searx/search/processors/online.py class HTTPParams (line 29) | class HTTPParams(t.TypedDict): class OnlineParams (line 90) | class OnlineParams(HTTPParams, RequestParams): function default_request_params (line 94) | def default_request_params() -> HTTPParams: class OnlineProcessor (line 113) | class OnlineProcessor(EngineProcessor): method init_engine (line 118) | def init_engine(self) -> bool: method init_network_in_thread (line 124) | def init_network_in_thread(self, start_time: float, timeout_limit: flo... method get_params (line 132) | def get_params(self, search_query: "SearchQuery", engine_category: str... method _send_http_request (line 164) | def _send_http_request(self, params: OnlineParams): method _search_basic (line 223) | def _search_basic(self, query: str, params: OnlineParams) -> "EngineRe... method search (line 239) | def search( # pyright: ignore[reportIncompatibleMethodOverride] FILE: searx/search/processors/online_currency.py class CurrenciesParams (line 24) | class CurrenciesParams(t.TypedDict): class OnlineCurrenciesParams (line 46) | class OnlineCurrenciesParams(CurrenciesParams, OnlineParams): # pylint:... class OnlineCurrencyProcessor (line 50) | class OnlineCurrencyProcessor(OnlineProcessor): method get_params (line 55) | def get_params(self, search_query: "SearchQuery", engine_category: str... function _normalize_name (line 112) | def _normalize_name(name: str): FILE: searx/search/processors/online_dictionary.py class DictParams (line 20) | class DictParams(t.TypedDict): class OnlineDictParams (line 33) | class OnlineDictParams(DictParams, OnlineParams): # pylint: disable=dup... class OnlineDictionaryProcessor (line 37) | class OnlineDictionaryProcessor(OnlineProcessor): method get_params (line 42) | def get_params(self, search_query: "SearchQuery", engine_category: str... function _get_lang_descr (line 70) | def _get_lang_descr(lang: str) -> FromToType | None: FILE: searx/search/processors/online_url_search.py class UrlParams (line 22) | class UrlParams(t.TypedDict): class OnlineUrlSearchParams (line 28) | class OnlineUrlSearchParams(UrlParams, OnlineParams): # pylint: disable... class OnlineUrlSearchProcessor (line 32) | class OnlineUrlSearchProcessor(OnlineProcessor): method get_params (line 37) | def get_params(self, search_query: "SearchQuery", engine_category: str... FILE: searx/settings_defaults.py class SettingsValue (line 63) | class SettingsValue: method __init__ (line 66) | def __init__( method type_definition_repr (line 79) | def type_definition_repr(self): method check_type_definition (line 83) | def check_type_definition(self, value: t.Any) -> None: method __call__ (line 90) | def __call__(self, value: t.Any) -> t.Any: class SettingSublistValue (line 103) | class SettingSublistValue(SettingsValue): method check_type_definition (line 107) | def check_type_definition(self, value: list[t.Any]) -> None: class SettingsDirectoryValue (line 115) | class SettingsDirectoryValue(SettingsValue): method check_type_definition (line 119) | def check_type_definition(self, value: t.Any) -> t.Any: method __call__ (line 125) | def __call__(self, value: t.Any) -> t.Any: class SettingsBytesValue (line 131) | class SettingsBytesValue(SettingsValue): method __call__ (line 135) | def __call__(self, value: t.Any) -> t.Any: function apply_schema (line 141) | def apply_schema(settings: dict[str, t.Any], schema: dict[str, t.Any], p... FILE: searx/settings_loader.py function load_yaml (line 40) | def load_yaml(file_name: str | Path) -> SettingsType: function get_yaml_cfg (line 51) | def get_yaml_cfg(file_name: str | Path) -> SettingsType: function get_user_cfg_folder (line 66) | def get_user_cfg_folder() -> Path | None: function update_dict (line 118) | def update_dict(default_dict: MutableMapping[str, t.Any], user_dict: Mut... function update_settings (line 127) | def update_settings(default_settings: MutableMapping[str, t.Any], user_s... function is_use_default_settings (line 182) | def is_use_default_settings(user_settings: SettingsType) -> bool: function load_settings (line 194) | def load_settings(load_user_settings: bool = True) -> tuple[SettingsType... FILE: searx/sqlitedb.py class DBSession (line 39) | class DBSession: method get_connect (line 43) | def get_connect(cls, app: "SQLiteAppl") -> sqlite3.Connection: method __init__ (line 56) | def __init__(self, app: "SQLiteAppl"): method conn (line 67) | def conn(self) -> sqlite3.Connection: method __del__ (line 77) | def __del__(self): class SQLiteAppl (line 91) | class SQLiteAppl(abc.ABC): method __init__ (line 193) | def __init__(self, db_url: str): method _compatibility (line 209) | def _compatibility(self): method _connect (line 229) | def _connect(self) -> sqlite3.Connection: method connect (line 235) | def connect(self) -> sqlite3.Connection: method register_functions (line 256) | def register_functions(self, conn: sqlite3.Connection): method DB (line 281) | def DB(self) -> sqlite3.Connection: method init (line 319) | def init(self, conn: sqlite3.Connection) -> bool: method create_schema (line 347) | def create_schema(self, conn: sqlite3.Connection): class SQLiteProperties (line 358) | class SQLiteProperties(SQLiteAppl): method __init__ (line 398) | def __init__(self, db_url: str): # pyright: ignore[reportMissingSuper... method init (line 404) | def init(self, conn: sqlite3.Connection) -> bool: method __call__ (line 416) | def __call__(self, name: str, default: t.Any = None) -> t.Any: method set (line 425) | def set(self, name: str, value: str | int): method delete (line 432) | def delete(self, name: str) -> int: method row (line 438) | def row(self, name: str, default: t.Any = None): method m_time (line 450) | def m_time(self, name: str, default: int = 0) -> int: method create_schema (line 458) | def create_schema(self, conn: sqlite3.Connection): method __str__ (line 462) | def __str__(self) -> str: FILE: searx/utils.py class _NotSetClass (line 60) | class _NotSetClass: # pylint: disable=too-few-public-methods function searxng_useragent (line 68) | def searxng_useragent() -> str: function gen_useragent (line 73) | def gen_useragent(os_string: str | None = None) -> str: function gen_gsa_useragent (line 84) | def gen_gsa_useragent() -> str: class HTMLTextExtractor (line 92) | class HTMLTextExtractor(HTMLParser): method __init__ (line 95) | def __init__(self): method handle_starttag (line 100) | def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]... method handle_endtag (line 105) | def handle_endtag(self, tag: str) -> None: method is_valid_tag (line 115) | def is_valid_tag(self): method handle_data (line 118) | def handle_data(self, data: str) -> None: method handle_charref (line 123) | def handle_charref(self, name: str) -> None: method handle_entityref (line 132) | def handle_entityref(self, name: str) -> None: method get_text (line 139) | def get_text(self): method error (line 142) | def error(self, message: str) -> None: function html_to_text (line 148) | def html_to_text(html_str: str) -> str: function markdown_to_text (line 189) | def markdown_to_text(markdown_str: str) -> str: function extract_text (line 212) | def extract_text( function normalize_url (line 256) | def normalize_url(url: str, base_url: str) -> str: function extract_url (line 306) | def extract_url(xpath_results: list[ElementType] | ElementType | str | N... function dict_subset (line 343) | def dict_subset(dictionary: MutableMapping[t.Any, t.Any], properties: se... function humanize_bytes (line 355) | def humanize_bytes(size: int | float, precision: int = 2): function humanize_number (line 367) | def humanize_number(size: int | float, precision: int = 0): function convert_str_to_int (line 379) | def convert_str_to_int(number_str: str) -> int: function extr (line 386) | def extr(txt: str, begin: str, end: str, default: str = "") -> str: function int_or_zero (line 415) | def int_or_zero(num: list[str] | str) -> int: function load_module (line 427) | def load_module(filename: str, module_dir: str) -> types.ModuleType: function to_string (line 441) | def to_string(obj: t.Any) -> str: function ecma_unescape (line 450) | def ecma_unescape(string: str) -> str: function remove_pua_from_str (line 471) | def remove_pua_from_str(string: str): function get_string_replaces_function (line 486) | def get_string_replaces_function(replaces: dict[str, str]) -> Callable[[... function get_engine_from_settings (line 496) | def get_engine_from_settings(name: str) -> dict[str, dict[str, str]]: function get_xpath (line 511) | def get_xpath(xpath_spec: XPathSpecType) -> XPath: function eval_xpath (line 537) | def eval_xpath(element: ElementType, xpath_spec: XPathSpecType) -> t.Any: function eval_xpath_list (line 565) | def eval_xpath_list(element: ElementType, xpath_spec: XPathSpecType, min... function eval_xpath_getindex (line 578) | def eval_xpath_getindex( function get_embeded_stream_url (line 602) | def get_embeded_stream_url(url: str): function _j2p_process_escape (line 664) | def _j2p_process_escape(match: re.Match[str]) -> str: function _j2p_decimal (line 674) | def _j2p_decimal(match: re.Match[str]) -> str: function _j2p_decimal2 (line 684) | def _j2p_decimal2(match: re.Match[str]) -> str: function js_obj_str_to_python (line 688) | def js_obj_str_to_python(js_obj_str: str) -> t.Any: function js_obj_str_to_json_str (line 705) | def js_obj_str_to_json_str(js_obj_str: str) -> str: function parse_duration_string (line 792) | def parse_duration_string(duration_str: str) -> timedelta | None: FILE: searx/valkeydb.py function client (line 33) | def client() -> valkey.Valkey | None: function initialize (line 38) | def initialize(): FILE: searx/valkeylib.py function lua_script_storage (line 21) | def lua_script_storage(client, script): function purge_by_prefix (line 52) | def purge_by_prefix(client, prefix: str = "SearXNG_"): function secret_hash (line 75) | def secret_hash(name: str): function incr_counter (line 112) | def incr_counter(client, name: str, limit: int = 0, expire: int = 0): function drop_counter (line 159) | def drop_counter(client, name): function incr_sliding_window (line 182) | def incr_sliding_window(client, name: str, duration: int): FILE: searx/version.py function subprocess_run (line 29) | def subprocess_run(args: str | list[str] | tuple[str], **kwargs) -> str:... function get_git_url_and_branch (line 47) | def get_git_url_and_branch(): function get_git_version (line 70) | def get_git_version() -> tuple[str, str, str]: function get_information (line 82) | def get_information() -> tuple[str, str, str, str, str, str, str]: function get_git_version_upstream (line 111) | def get_git_version_upstream(): function get_git_fork_commit (line 121) | def get_git_fork_commit(): FILE: searx/weather.py function get_WEATHER_DATA_CACHE (line 47) | def get_WEATHER_DATA_CACHE(): function _get_sxng_locale_tag (line 62) | def _get_sxng_locale_tag() -> str: function symbol_url (line 97) | def symbol_url(condition: "WeatherConditionType") -> str | None: class GeoLocation (line 127) | class GeoLocation(msgspec.Struct, kw_only=True): method zoneinfo (line 145) | def zoneinfo(self) -> zoneinfo.ZoneInfo: method __str__ (line 148) | def __str__(self): method locale (line 151) | def locale(self) -> babel.Locale: method by_query (line 174) | def by_query(cls, search_term: str) -> "GeoLocation": method _query_open_meteo (line 193) | def _query_open_meteo(cls, search_term: str) -> dict[str, str]: class DateTime (line 209) | class DateTime(msgspec.Struct): method __str__ (line 225) | def __str__(self): method l10n (line 228) | def l10n( method l10n_date (line 242) | def l10n_date( class Temperature (line 262) | class Temperature(msgspec.Struct, kw_only=True): method __post_init__ (line 272) | def __post_init__(self): method __str__ (line 276) | def __str__(self): method value (line 279) | def value(self, unit: TemperatureUnit) -> float: method l10n (line 285) | def l10n( class Pressure (line 330) | class Pressure(msgspec.Struct, kw_only=True): method __post_init__ (line 340) | def __post_init__(self): method __str__ (line 344) | def __str__(self): method value (line 347) | def value(self, unit: PressureUnit) -> float: method l10n (line 353) | def l10n( class WindSpeed (line 376) | class WindSpeed(msgspec.Struct, kw_only=True): method __post_init__ (line 393) | def __post_init__(self): method __str__ (line 397) | def __str__(self): method value (line 400) | def value(self, unit: WindSpeedUnit) -> float: method l10n (line 406) | def l10n( class RelativeHumidity (line 429) | class RelativeHumidity(msgspec.Struct): method __post_init__ (line 438) | def __post_init__(self): method __str__ (line 442) | def __str__(self): method value (line 445) | def value(self) -> float: method l10n (line 448) | def l10n( class Compass (line 474) | class Compass(msgspec.Struct): method __post_init__ (line 490) | def __post_init__(self): method __str__ (line 499) | def __str__(self): method value (line 502) | def value(self, unit: CompassUnit): method point (line 510) | def point(cls, azimuth: float | int) -> CompassPoint: method l10n (line 519) | def l10n( FILE: searx/webadapter.py function deduplicate_engineref_list (line 16) | def deduplicate_engineref_list(engineref_list: List[EngineRef]) -> List[... function validate_engineref_list (line 21) | def validate_engineref_list( function parse_pageno (line 48) | def parse_pageno(form: Dict[str, str]) -> int: function parse_lang (line 55) | def parse_lang(preferences: Preferences, form: Dict[str, str], raw_text_... function parse_safesearch (line 75) | def parse_safesearch(preferences: Preferences, form: Dict[str, str]) -> ... function parse_time_range (line 95) | def parse_time_range(form: Dict[str, str]) -> Optional[str]: function parse_timeout (line 104) | def parse_timeout(form: Dict[str, str], raw_text_query: RawTextQuery) ->... function parse_category_form (line 117) | def parse_category_form(query_categories: List[str], name: str, value: s... function get_selected_categories (line 135) | def get_selected_categories(preferences: Preferences, form: Optional[Dic... function get_engineref_from_category_list (line 158) | def get_engineref_from_category_list( # pylint: disable=invalid-name function parse_generic (line 172) | def parse_generic(preferences: Preferences, form: Dict[str, str], disabl... function parse_engine_data (line 212) | def parse_engine_data(form): function get_search_query_from_webapp (line 221) | def get_search_query_from_webapp( FILE: searx/webapp.py function get_locale (line 155) | def get_locale(): function _get_browser_language (line 164) | def _get_browser_language(req, lang_list): function _get_locale_rfc5646 (line 170) | def _get_locale_rfc5646(locale): function code_highlighter (line 182) | def code_highlighter(codelines, language=None, hl_lines=None, strip_whit... function get_result_template (line 247) | def get_result_template(theme_name: str, template_name: str): function custom_url_for (line 257) | def custom_url_for(endpoint: str, **values): function image_proxify (line 298) | def image_proxify(url: str): function get_translations (line 324) | def get_translations(): function get_enabled_categories (line 335) | def get_enabled_categories(category_names: typing.Iterable[str]): function get_pretty_url (line 346) | def get_pretty_url(parsed_url: urllib.parse.ParseResult): function get_client_settings (line 367) | def get_client_settings(): function render (line 389) | def render(template_name: str, **kwargs): function pre_request (line 461) | def pre_request(): function add_default_headers (line 523) | def add_default_headers(response: flask.Response): function post_request (line 533) | def post_request(response: flask.Response): function index_error (line 554) | def index_error(output_format: str, error_message: str): function index (line 584) | def index(): function health (line 602) | def health(): function client_token (line 607) | def client_token(token=None): function rss_xsl (line 613) | def rss_xsl(): function search (line 621) | def search(): function about (line 790) | def about(): function info (line 797) | def info(pagename, locale): function autocompleter (line 813) | def autocompleter(): function preferences (line 862) | def preferences(): function image_proxy (line 1004) | def image_proxy(): function engine_descriptions (line 1076) | def engine_descriptions(): function stats (line 1102) | def stats(): function stats_errors (line 1163) | def stats_errors(): function stats_open_metrics (line 1170) | def stats_open_metrics(): function robots (line 1189) | def robots(): function opensearch (line 1203) | def opensearch(): function manifest (line 1220) | def manifest(): function manifest_logo (line 1233) | def manifest_logo(resolution=0): function favicon (line 1243) | def favicon(): function clear_cookies (line 1253) | def clear_cookies(): function config (line 1261) | def config(): function page_not_found (line 1323) | def page_not_found(_e): function run (line 1327) | def run(): function init (line 1364) | def init(): function static_headers (line 1387) | def static_headers(headers: Headers, _path: str, _url: str) -> None: FILE: searx/webutils.py function get_translated_errors (line 70) | def get_translated_errors(unresponsive_engines: "Iterable[UnresponsiveEn... class CSVWriter (line 85) | class CSVWriter: method __init__ (line 89) | def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): method writerow (line 96) | def writerow(self, row): method writerows (line 108) | def writerows(self, rows): function write_csv_response (line 113) | def write_csv_response(csv: CSVWriter, rc: "ResultContainer") -> None: ... class JSONEncoder (line 149) | class JSONEncoder(json.JSONEncoder): # pylint: disable=missing-class-do... method default (line 150) | def default(self, o): function get_json_response (line 162) | def get_json_response(sq: "SearchQuery", rc: "ResultContainer") -> str: function get_themes (line 178) | def get_themes(templates_path): function get_static_file_list (line 183) | def get_static_file_list() -> list[str]: function get_result_templates (line 201) | def get_result_templates(templates_path): function new_hmac (line 212) | def new_hmac(secret_key, url): function is_hmac_of (line 216) | def is_hmac_of(secret_key, value, hmac_to_check): function prettify_url (line 221) | def prettify_url(url, max_length=74): function contains_cjko (line 228) | def contains_cjko(s: str) -> bool: function regex_highlight_cjk (line 250) | def regex_highlight_cjk(word: str) -> str: function highlight_content (line 270) | def highlight_content(content, query): function searxng_l10n_timespan (line 291) | def searxng_l10n_timespan(dt: datetime) -> str: # pylint: disable=inval... function group_engines_in_tab (line 316) | def group_engines_in_tab(engines: "Iterable[Engine]") -> List[Tuple[str,... FILE: searx/wikidata_units.py class Beaufort (line 17) | class Beaufort: method from_si (line 40) | def from_si(cls, value) -> float: method to_si (line 50) | def to_si(cls, value) -> float: function convert_from_si (line 119) | def convert_from_si(si_name: str, symbol: str, value: float | int) -> fl... function convert_to_si (line 128) | def convert_to_si(si_name: str, symbol: str, value: float | int) -> float: function units_by_si_name (line 137) | def units_by_si_name(si_name): function symbol_to_si (line 165) | def symbol_to_si(): function fetch_units (line 269) | def fetch_units(): FILE: searxng_extra/update/update_ahmia_blacklist.py function fetch_ahmia_blacklist (line 21) | def fetch_ahmia_blacklist(): FILE: searxng_extra/update/update_currencies.py function remove_accents (line 59) | def remove_accents(name): function remove_extra (line 63) | def remove_extra(name): function _normalize_name (line 70) | def _normalize_name(name): function add_currency_name (line 76) | def add_currency_name(db, name, iso4217, normalize_name=True): function add_currency_label (line 87) | def add_currency_label(db, label, iso4217, language): function wikidata_request_result_iterator (line 92) | def wikidata_request_result_iterator(request): function fetch_db (line 98) | def fetch_db(): function main (line 131) | def main(): FILE: searxng_extra/update/update_engine_descriptions.py function normalize_description (line 88) | def normalize_description(description): function update_description (line 95) | def update_description(engine_name, lang, description, source, replace=T... function get_wikipedia_summary (line 112) | def get_wikipedia_summary(wikipedia_url, searxng_locale): function get_website_description (line 139) | def get_website_description(url, lang1, lang2=None): function initialize (line 178) | def initialize(): function fetch_wikidata_descriptions (line 208) | def fetch_wikidata_descriptions(): function fetch_wikipedia_descriptions (line 230) | def fetch_wikipedia_descriptions(): function normalize_url (line 254) | def normalize_url(url): function fetch_website_description (line 261) | def fetch_website_description(engine_name, website): function fetch_website_descriptions (line 314) | def fetch_website_descriptions(): function get_engine_descriptions_filename (line 326) | def get_engine_descriptions_filename(): function get_output (line 330) | def get_output(): function main (line 359) | def main(): FILE: searxng_extra/update/update_engine_traits.py function cli (line 85) | def cli(engines: t.Annotated[list[str] | None, typer.Argument()] = None): function fetch_traits_map (line 119) | def fetch_traits_map() -> EngineTraitsMap: function filter_locales (line 131) | def filter_locales(traits_map: EngineTraitsMap) -> set[str]: function write_sxng_locales_file (line 165) | def write_sxng_locales_file(sxng_tag_list: set[str]): class UnicodeEscape (line 196) | class UnicodeEscape(str): method __repr__ (line 199) | def __repr__(self): function get_unicode_flag (line 203) | def get_unicode_flag(locale: babel.Locale): FILE: searxng_extra/update/update_external_bangs.py function main (line 25) | def main(): function merge_when_no_leaf (line 39) | def merge_when_no_leaf(node): function optimize_leaf (line 85) | def optimize_leaf(parent, parent_key, node): function parse_ddg_bangs (line 96) | def parse_ddg_bangs(ddg_bangs): FILE: searxng_extra/update/update_firefox_version.py function fetch_firefox_versions (line 40) | def fetch_firefox_versions(): function fetch_firefox_last_versions (line 60) | def fetch_firefox_last_versions(): FILE: searxng_extra/update/update_gsa_useragents.py function fetch_gsa_useragents (line 23) | def fetch_gsa_useragents() -> list[str]: FILE: searxng_extra/update/update_locales.py function main (line 30) | def main(): function get_locale_descr (line 67) | def get_locale_descr(locale: babel.Locale, tr_locale): function _get_locale_descr (line 92) | def _get_locale_descr(locale: babel.Locale, tr_locale: str) -> tuple[str... FILE: searxng_extra/update/update_osm_keys_tags.py function get_preset_keys (line 93) | def get_preset_keys(): function get_keys (line 103) | def get_keys(): function get_tags (line 149) | def get_tags(): function optimize_data_lang (line 165) | def optimize_data_lang(translations): function optimize_tags (line 190) | def optimize_tags(data): function optimize_keys (line 197) | def optimize_keys(data): FILE: searxng_extra/update/update_pygments.py class Formatter (line 49) | class Formatter(HtmlFormatter): # pylint: disable=missing-class-docstring method get_style_lines (line 51) | def get_style_lines(self, arg=None): function generat_css (line 59) | def generat_css(light_style, dark_style) -> str: FILE: tests/__init__.py class SearxTestLayer (line 13) | class SearxTestLayer: method setUp (line 19) | def setUp(cls): method tearDown (line 23) | def tearDown(cls): method testSetUp (line 27) | def testSetUp(cls): method testTearDown (line 31) | def testTearDown(cls): class SearxTestCase (line 35) | class SearxTestCase(aiounittest.AsyncTestCase): method setUp (line 43) | def setUp(self): method setattr4test (line 46) | def setattr4test(self, obj, attr, value): method init_test_settings (line 57) | def init_test_settings(self): FILE: tests/robot/__main__.py class SearxRobotLayer (line 18) | class SearxRobotLayer: method setUp (line 21) | def setUp(self): method tearDown (line 40) | def tearDown(self): function run_robot_tests (line 46) | def run_robot_tests(tests): function main (line 56) | def main(): FILE: tests/robot/test_webapp.py function test_index (line 9) | def test_index(browser): function test_404 (line 15) | def test_404(browser): function test_about (line 21) | def test_about(browser): function test_preferences (line 27) | def test_preferences(browser): function test_preferences_engine_select (line 36) | def test_preferences_engine_select(browser): function test_preferences_locale (line 57) | def test_preferences_locale(browser): function test_search (line 73) | def test_search(browser): FILE: tests/unit/engines/test_command.py class TestCommandEngine (line 10) | class TestCommandEngine(SearxTestCase): method test_basic_seq_command_engine (line 12) | def test_basic_seq_command_engine(self): method test_delimiter_parsing (line 27) | def test_delimiter_parsing(self): method test_regex_parsing (line 125) | def test_regex_parsing(self): method test_working_dir_path_query (line 182) | def test_working_dir_path_query(self): method test_enum_queries (line 202) | def test_enum_queries(self): FILE: tests/unit/engines/test_json_engine.py class TestJsonEngine (line 15) | class TestJsonEngine(SearxTestCase): # pylint: disable=missing-class-do... method setUp (line 112) | def setUp(self): method test_request (line 115) | def test_request(self): method test_response (line 148) | def test_response(self): method test_response_results_json (line 201) | def test_response_results_json(self): FILE: tests/unit/engines/test_xpath.py class TestXpathEngine (line 15) | class TestXpathEngine(SearxTestCase): method setUp (line 31) | def setUp(self): method test_request (line 35) | def test_request(self): method test_response (line 57) | def test_response(self): method test_response_results_xpath (line 96) | def test_response_results_xpath(self): FILE: tests/unit/network/test_network.py class TestNetwork (line 11) | class TestNetwork(SearxTestCase): method test_simple (line 14) | def test_simple(self): method test_ipaddress_cycle (line 20) | def test_ipaddress_cycle(self): method test_proxy_cycles (line 48) | def test_proxy_cycles(self): method test_get_kwargs_clients (line 73) | def test_get_kwargs_clients(self): method test_get_client (line 91) | async def test_get_client(self): method test_aclose (line 108) | async def test_aclose(self): method test_request (line 113) | async def test_request(self): class TestNetworkRequestRetries (line 123) | class TestNetworkRequestRetries(SearxTestCase): method setUp (line 127) | def setUp(self): method get_response_404_then_200 (line 131) | def get_response_404_then_200(cls): method test_retries_ok (line 143) | async def test_retries_ok(self): method test_retries_fail_int (line 150) | async def test_retries_fail_int(self): method test_retries_fail_list (line 157) | async def test_retries_fail_list(self): method test_retries_fail_bool (line 164) | async def test_retries_fail_bool(self): method test_retries_exception_then_200 (line 171) | async def test_retries_exception_then_200(self): method test_retries_exception (line 188) | async def test_retries_exception(self): class TestNetworkStreamRetries (line 199) | class TestNetworkStreamRetries(SearxTestCase): method setUp (line 203) | def setUp(self): method get_response_exception_then_200 (line 207) | def get_response_exception_then_200(cls): method test_retries_ok (line 219) | async def test_retries_ok(self): method test_retries_fail (line 226) | async def test_retries_fail(self): method test_retries_exception (line 233) | async def test_retries_exception(self): FILE: tests/unit/processors/test_online.py class TestOnlineProcessor (line 13) | class TestOnlineProcessor(SearxTestCase): method _get_params (line 15) | def _get_params(self, online_processor, search_query, engine_category): method test_get_params_default_params (line 21) | def test_get_params_default_params(self): method test_get_params_useragent (line 33) | def test_get_params_useragent(self): FILE: tests/unit/test_answerers.py class AnswererTest (line 15) | class AnswererTest(SearxTestCase): method setUp (line 17) | def setUp(self): method test_unicode_input (line 26) | def test_unicode_input(self, answerer_obj: searx.answerers.Answerer): FILE: tests/unit/test_engine_github_code.py class GithubCodeTests (line 14) | class GithubCodeTests(SearxTestCase): method setUp (line 18) | def setUp(self): method tearDown (line 23) | def tearDown(self): method test_code_extraction (line 102) | def test_code_extraction(self, code_matches, expected_code, expected_h... method test_transforms_response (line 107) | def test_transforms_response(self): FILE: tests/unit/test_engine_tineye.py class TinEyeTests (line 15) | class TinEyeTests(SearxTestCase): method setUp (line 19) | def setUp(self): method tearDown (line 24) | def tearDown(self): method test_status_code_raises (line 27) | def test_status_code_raises(self): method test_returns_empty_list (line 34) | def test_returns_empty_list(self, status_code): method test_logs_format_for_422 (line 43) | def test_logs_format_for_422(self): method test_logs_signature_for_422 (line 53) | def test_logs_signature_for_422(self): method test_logs_download_for_422 (line 63) | def test_logs_download_for_422(self): method test_logs_description_for_400 (line 73) | def test_logs_description_for_400(self): method test_crawl_date_parses (line 84) | def test_crawl_date_parses(self): FILE: tests/unit/test_engines_init.py class TestEnginesInit (line 8) | class TestEnginesInit(SearxTestCase): method test_initialize_engines_default (line 10) | def test_initialize_engines_default(self): method test_initialize_engines_exclude_onions (line 21) | def test_initialize_engines_exclude_onions(self): method test_initialize_engines_include_onions (line 33) | def test_initialize_engines_include_onions(self): method test_missing_name_field (line 56) | def test_missing_name_field(self): method test_missing_engine_field (line 66) | def test_missing_engine_field(self): FILE: tests/unit/test_exceptions.py class TestExceptions (line 10) | class TestExceptions(SearxTestCase): method test_default_suspend_time (line 19) | def test_default_suspend_time(self, exception): method test_custom_suspend_time (line 34) | def test_custom_suspend_time(self, exception): FILE: tests/unit/test_external_bangs.py class TestGetNode (line 37) | class TestGetNode(SearxTestCase): method test_found (line 48) | def test_found(self): method test_get_partial (line 55) | def test_get_partial(self): method test_not_found (line 61) | def test_not_found(self): class TestResolveBangDefinition (line 68) | class TestResolveBangDefinition(SearxTestCase): method test_https (line 70) | def test_https(self): method test_http (line 75) | def test_http(self): class TestGetBangDefinitionAndAutocomplete (line 81) | class TestGetBangDefinitionAndAutocomplete(SearxTestCase): method test_found (line 83) | def test_found(self): method test_found_optimized (line 88) | def test_found_optimized(self): method test_partial (line 93) | def test_partial(self): method test_partial2 (line 98) | def test_partial2(self): method test_error (line 103) | def test_error(self): method test_actual_data (line 108) | def test_actual_data(self): class TestExternalBangJson (line 114) | class TestExternalBangJson(SearxTestCase): method test_no_external_bang_query (line 116) | def test_no_external_bang_query(self): method test_get_bang_url (line 120) | def test_get_bang_url(self): method test_actual_data (line 124) | def test_actual_data(self): FILE: tests/unit/test_js_variable_to_python.py class TestParser (line 21) | class TestParser(SearxTestCase): method test_parse_object (line 33) | def test_parse_object(self, js, expected_py): method test_parse_list (line 48) | def test_parse_list(self, js, expected_py): method test_parse_mixed (line 71) | def test_parse_mixed(self, js, expected_py): method test_parse_standard_values (line 92) | def test_parse_standard_values(self, js, expected_py): method test_parse_nan (line 96) | def test_parse_nan(self): method test_parse_strange_values (line 122) | def test_parse_strange_values(self, js, expected_py): method test_strange_input (line 135) | def test_strange_input(self, js, expected_py): method test_integer_numeric_values (line 173) | def test_integer_numeric_values(self, js, expected_py): method test_float_numeric_values (line 199) | def test_float_numeric_values(self, js, expected_py): class TestParserExceptions (line 211) | class TestParserExceptions(SearxTestCase): method test_exceptions (line 219) | def test_exceptions(self, js, expected_exception): method test_malformed_input (line 228) | def test_malformed_input(self, in_data, expected_exception): method test_error_messages (line 241) | def test_error_messages(self, js, expected_exception, expected_excepti... class TestParseJsonObjects (line 257) | class TestParseJsonObjects(SearxTestCase): method test_parse_json_objects (line 284) | def test_parse_json_objects(self, js, expected_py): FILE: tests/unit/test_locales.py class TestLocales (line 12) | class TestLocales(SearxTestCase): method setUpClass (line 19) | def setUpClass(cls): method test_locale_languages (line 29) | def test_locale_languages(self, locale: str): method test_match_region (line 46) | def test_match_region(self, locale: str, expected_locale: str): method test_match_lang_script_code (line 58) | def test_match_lang_script_code(self, locale: str, expected_locale: str): method test_locale_de (line 62) | def test_locale_de(self): method test_locale_es (line 66) | def test_locale_es(self): method test_locale_optimized_selected (line 90) | def test_locale_optimized_selected(self, locale: str, locale_list: lis... method test_locale_optimized_territory (line 115) | def test_locale_optimized_territory(self, locale: str, locale_list: li... FILE: tests/unit/test_plugin_hash.py class PluginHashTest (line 35) | class PluginHashTest(SearxTestCase): method setUp (line 37) | def setUp(self): method test_plugin_store_init (line 47) | def test_plugin_store_init(self): method test_hash_digest_new (line 51) | def test_hash_digest_new(self, query: str, res: str): method test_pageno_1_2 (line 59) | def test_pageno_1_2(self): FILE: tests/unit/test_plugin_self_info.py class PluginIPSelfInfo (line 20) | class PluginIPSelfInfo(SearxTestCase): method setUp (line 22) | def setUp(self): method test_plugin_store_init (line 35) | def test_plugin_store_init(self): method test_IPv4_X_Forwarded_For (line 38) | def test_IPv4_X_Forwarded_For(self): method test_IPv6_X_Forwarded_For (line 47) | def test_IPv6_X_Forwarded_For(self): method test_IPv6_X_Forwarded_For_all_trusted (line 57) | def test_IPv6_X_Forwarded_For_all_trusted(self): method test_IPv6_X_Real_IP (line 66) | def test_IPv6_X_Real_IP(self): method test_REMOTE_ADDR_is_invalid (line 75) | def test_REMOTE_ADDR_is_invalid(self): method test_X_Real_IP_is_invalid (line 88) | def test_X_Real_IP_is_invalid(self): method test_X_Forwarded_For_is_invalid (line 102) | def test_X_Forwarded_For_is_invalid(self): method test_user_agent_in_answer (line 124) | def test_user_agent_in_answer(self, query: str): FILE: tests/unit/test_plugins.py function get_search_mock (line 21) | def get_search_mock(query, **kwargs): function do_pre_search (line 35) | def do_pre_search(query, storage, **kwargs) -> bool: function do_post_search (line 42) | def do_post_search(query, storage, **kwargs) -> Mock: class PluginMock (line 49) | class PluginMock(searx.plugins.Plugin): method __init__ (line 51) | def __init__(self, _id: str, name: str, active: bool): method pre_search (line 58) | def pre_search(self, request, search) -> bool: method post_search (line 61) | def post_search(self, request, search) -> None: method on_result (line 64) | def on_result(self, request, search, result) -> bool: method info (line 67) | def info(self): class PluginStorage (line 76) | class PluginStorage(SearxTestCase): method setUp (line 78) | def setUp(self): method test_init (line 89) | def test_init(self): method test_hooks (line 93) | def test_hooks(self): FILE: tests/unit/test_preferences.py class TestSettings (line 29) | class TestSettings(SearxTestCase): method test_map_setting_invalid_default_value (line 33) | def test_map_setting_invalid_default_value(self): method test_map_setting_invalid_choice (line 37) | def test_map_setting_invalid_choice(self): method test_map_setting_valid_default (line 42) | def test_map_setting_valid_default(self): method test_map_setting_valid_choice (line 46) | def test_map_setting_valid_choice(self): method test_enum_setting_invalid_default_value (line 54) | def test_enum_setting_invalid_default_value(self): method test_enum_setting_invalid_choice (line 58) | def test_enum_setting_invalid_choice(self): method test_enum_setting_valid_default (line 63) | def test_enum_setting_valid_default(self): method test_enum_setting_valid_choice (line 67) | def test_enum_setting_valid_choice(self): method test_multiple_setting_invalid_default_value (line 75) | def test_multiple_setting_invalid_default_value(self): method test_multiple_setting_invalid_choice (line 79) | def test_multiple_setting_invalid_choice(self): method test_multiple_setting_valid_default (line 84) | def test_multiple_setting_valid_default(self): method test_multiple_setting_valid_choice (line 88) | def test_multiple_setting_valid_choice(self): method test_lang_setting_valid_choice (line 96) | def test_lang_setting_valid_choice(self): method test_lang_setting_invalid_choice (line 101) | def test_lang_setting_invalid_choice(self): method test_lang_setting_old_cookie_choice (line 106) | def test_lang_setting_old_cookie_choice(self): method test_lang_setting_old_cookie_format (line 111) | def test_lang_setting_old_cookie_format(self): method test_plugins_setting_all_default_enabled (line 118) | def test_plugins_setting_all_default_enabled(self): method test_plugins_setting_few_default_enabled (line 125) | def test_plugins_setting_few_default_enabled(self): class TestPreferences (line 134) | class TestPreferences(SearxTestCase): method setUp (line 136) | def setUp(self): method test_encode (line 142) | def test_encode(self): method test_save_key_value_setting (line 175) | def test_save_key_value_setting(self): method test_false_key_value_setting (line 196) | def test_false_key_value_setting(self): FILE: tests/unit/test_query.py class TestQuery (line 9) | class TestQuery(SearxTestCase): method test_simple_query (line 11) | def test_simple_query(self): method test_multiple_spaces_query (line 21) | def test_multiple_spaces_query(self): method test_str_method (line 31) | def test_str_method(self): method test_repr_method (line 36) | def test_repr_method(self): method test_change_query (line 42) | def test_change_query(self): class TestLanguageParser (line 50) | class TestLanguageParser(SearxTestCase): method test_language_code (line 52) | def test_language_code(self): method test_language_name (line 64) | def test_language_name(self): method test_unlisted_language_code (line 75) | def test_unlisted_language_code(self): method test_auto_language_code (line 86) | def test_auto_language_code(self): method test_invalid_language_code (line 97) | def test_invalid_language_code(self): method test_empty_colon_in_query (line 108) | def test_empty_colon_in_query(self): method test_autocomplete_empty (line 117) | def test_autocomplete_empty(self): method test_autocomplete (line 130) | def test_autocomplete(self, query: str, autocomplete_list: list): class TestTimeoutParser (line 135) | class TestTimeoutParser(SearxTestCase): method test_timeout_limit (line 144) | def test_timeout_limit(self, query_text: str, timeout_limit: float): method test_timeout_invalid (line 151) | def test_timeout_invalid(self): method test_timeout_autocomplete (line 162) | def test_timeout_autocomplete(self): class TestExternalBangParser (line 175) | class TestExternalBangParser(SearxTestCase): method test_external_bang (line 177) | def test_external_bang(self): method test_external_bang_not_found (line 185) | def test_external_bang_not_found(self): method test_external_bang_autocomplete (line 193) | def test_external_bang_autocomplete(self): class TestBang (line 206) | class TestBang(SearxTestCase): method test_bang (line 212) | def test_bang(self, bang: str): method test_specific (line 222) | def test_specific(self, bang: str): method test_bang_not_found (line 228) | def test_bang_not_found(self): method test_bang_autocomplete (line 232) | def test_bang_autocomplete(self): method test_bang_autocomplete_empty (line 240) | def test_bang_autocomplete_empty(self): FILE: tests/unit/test_results.py class ResultContainerTestCase (line 10) | class ResultContainerTestCase(SearxTestCase): method test_empty (line 15) | def test_empty(self): method test_one_result (line 19) | def test_one_result(self): method test_one_suggestion (line 32) | def test_one_suggestion(self): method test_merge_url_result (line 43) | def test_merge_url_result(self): FILE: tests/unit/test_search.py class SearchQueryTestCase (line 17) | class SearchQueryTestCase(SearxTestCase): method test_repr (line 19) | def test_repr(self): method test_eq (line 25) | def test_eq(self): method test_copy (line 31) | def test_copy(self): class SearchTestCase (line 37) | class SearchTestCase(SearxTestCase): method test_timeout_simple (line 39) | def test_timeout_simple(self): method test_timeout_query_above_default_nomax (line 49) | def test_timeout_query_above_default_nomax(self): method test_timeout_query_below_default_nomax (line 59) | def test_timeout_query_below_default_nomax(self): method test_timeout_query_below_max (line 69) | def test_timeout_query_below_max(self): method test_timeout_query_above_max (line 79) | def test_timeout_query_above_max(self): method test_external_bang_valid (line 89) | def test_external_bang_valid(self): method test_external_bang_none (line 105) | def test_external_bang_none(self): FILE: tests/unit/test_settings_loader.py function _settings (line 16) | def _settings(f_name): class TestLoad (line 20) | class TestLoad(SearxTestCase): method test_load_zero (line 22) | def test_load_zero(self): class TestDefaultSettings (line 32) | class TestDefaultSettings(SearxTestCase): method test_load (line 34) | def test_load(self): class TestUserSettings (line 47) | class TestUserSettings(SearxTestCase): method test_is_use_default_settings (line 49) | def test_is_use_default_settings(self): method test_user_settings_not_found (line 64) | def test_user_settings_not_found(self, path: str): method test_user_settings (line 69) | def test_user_settings(self): method test_user_settings_remove (line 76) | def test_user_settings_remove(self): method test_user_settings_remove2 (line 87) | def test_user_settings_remove2(self): method test_user_settings_keep_only (line 103) | def test_user_settings_keep_only(self): method test_custom_settings (line 112) | def test_custom_settings(self): FILE: tests/unit/test_utils.py function random_string (line 15) | def random_string(length, choices=string.ascii_letters): class TestUtils (line 19) | class TestUtils(SearxTestCase): method test_gen_useragent (line 21) | def test_gen_useragent(self): method test_searxng_useragent (line 26) | def test_searxng_useragent(self): method test_extract_text (line 31) | def test_extract_text(self): method test_extract_text_allow_none (line 53) | def test_extract_text_allow_none(self): method test_extract_text_error_none (line 56) | def test_extract_text_error_none(self): method test_extract_text_error_empty (line 60) | def test_extract_text_error_empty(self): method test_extract_url (line 64) | def test_extract_url(self): method test_ecma_unscape (line 78) | def test_ecma_unscape(self): method test_html_to_text (line 92) | def test_html_to_text(self, html_str: str, text_str: str): method test_html_to_text_with_a_style_span (line 95) | def test_html_to_text_with_a_style_span(self): class TestXPathUtils (line 118) | class TestXPathUtils(SearxTestCase): # pylint: disable=missing-class-do... method test_get_xpath_cache (line 125) | def test_get_xpath_cache(self): method test_get_xpath_type (line 133) | def test_get_xpath_type(self): method test_get_xpath_invalid (line 139) | def test_get_xpath_invalid(self): method test_eval_xpath_unregistered_function (line 147) | def test_eval_xpath_unregistered_function(self): method test_eval_xpath (line 157) | def test_eval_xpath(self): method test_eval_xpath_list (line 164) | def test_eval_xpath_list(self): method test_eval_xpath_getindex (line 176) | def test_eval_xpath_getindex(self): FILE: tests/unit/test_webadapter.py class ValidateQueryCase (line 17) | class ValidateQueryCase(SearxTestCase): method test_without_token (line 19) | def test_without_token(self): method test_with_incorrect_token (line 26) | def test_with_incorrect_token(self): method test_with_correct_token (line 34) | def test_with_correct_token(self): FILE: tests/unit/test_webapp.py class ViewsTestCase (line 18) | class ViewsTestCase(SearxTestCase): # pylint: disable=too-many-public-m... method setUp (line 20) | def setUp(self): method test_index_empty (line 82) | def test_index_empty(self): method test_index_html_post (line 90) | def test_index_html_post(self): method test_index_html_get (line 95) | def test_index_html_get(self): method test_search_empty_html (line 100) | def test_search_empty_html(self): method test_search_empty_json (line 105) | def test_search_empty_json(self): method test_search_empty_csv (line 109) | def test_search_empty_csv(self): method test_search_empty_rss (line 113) | def test_search_empty_rss(self): method test_search_html (line 117) | def test_search_html(self): method test_index_json (line 129) | def test_index_json(self): method test_search_json (line 133) | def test_search_json(self): method test_index_csv (line 142) | def test_index_csv(self): method test_search_csv (line 146) | def test_search_csv(self): method test_index_rss (line 155) | def test_index_rss(self): method test_search_rss (line 159) | def test_search_rss(self): method test_redirect_about (line 172) | def test_redirect_about(self): method test_info_page (line 176) | def test_info_page(self): method test_health (line 181) | def test_health(self): method test_preferences (line 186) | def test_preferences(self): method test_browser_locale (line 193) | def test_browser_locale(self): method test_browser_empty_locale (line 207) | def test_browser_empty_locale(self): method test_locale_occitan (line 214) | def test_locale_occitan(self): method test_stats (line 221) | def test_stats(self): method test_robots_txt (line 226) | def test_robots_txt(self): method test_opensearch_xml (line 231) | def test_opensearch_xml(self): method test_favicon (line 238) | def test_favicon(self): method test_config (line 243) | def test_config(self): FILE: tests/unit/test_webutils.py class TestWebUtils (line 10) | class TestWebUtils(SearxTestCase): method test_prettify_url (line 20) | def test_prettify_url(self, test_url: str, expected: str): method test_highlight_content_none (line 31) | def test_highlight_content_none(self, content, query, expected): method test_highlight_content_same (line 34) | def test_highlight_content_same(self): method test_highlight_content_equal (line 77) | def test_highlight_content_equal(self, query: str, content: str, expec... class TestUnicodeWriter (line 81) | class TestUnicodeWriter(SearxTestCase): method setUp (line 83) | def setUp(self): method test_write_row (line 87) | def test_write_row(self): method test_write_rows (line 91) | def test_write_rows(self): class TestNewHmac (line 98) | class TestNewHmac(SearxTestCase): method test_attribute_error (line 106) | def test_attribute_error(self, secret_key): method test_bytes (line 111) | def test_bytes(self): FILE: utils/get_setting.py function main (line 15) | def main(setting_name): function get_setting_value (line 23) | def get_setting_value(settings, name): function parse_yaml (line 34) | def parse_yaml(yaml_str):