.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
offline.py
Go to the documentation of this file.
1# SPDX-License-Identifier: AGPL-3.0-or-later
2"""Processors for engine-type: ``offline``"""
3
4import typing as t
5from .abstract import EngineProcessor, RequestParams
6
7if t.TYPE_CHECKING:
8 from searx.results import ResultContainer
9
10
12 """Processor class used by ``offline`` engines."""
13
14 engine_type: str = "offline"
15
16 def search(
17 self,
18 query: str,
19 params: RequestParams,
20 result_container: "ResultContainer",
21 start_time: float,
22 timeout_limit: float,
23 ):
24 try:
25 search_results = self.engine.search(query, params)
26 self.extend_container(result_container, start_time, search_results)
27 except ValueError as e:
28 # do not record the error
29 self.logger.exception('engine {0} : invalid input : {1}'.format(self.engine.name, e))
30 except Exception as e: # pylint: disable=broad-except
31 self.handle_exception(result_container, e)
32 self.logger.exception('engine {0} : exception : {1}'.format(self.engine.name, e))
extend_container(self, "ResultContainer" result_container, float start_time, "list[Result | LegacyResult]|None" search_results)
Definition abstract.py:215
handle_exception(self, "ResultContainer" result_container, BaseException|str exception_or_message, bool suspend=False)
Definition abstract.py:170