Source code for searx.search.processors.offline

# SPDX-License-Identifier: AGPL-3.0-or-later
"""Processors for engine-type: ``offline``"""

import typing as t
from .abstract import EngineProcessor, RequestParams

if t.TYPE_CHECKING:
    from searx.results import ResultContainer


[docs] class OfflineProcessor(EngineProcessor): """Processor class used by ``offline`` engines.""" engine_type: str = "offline" def search( self, query: str, params: RequestParams, result_container: "ResultContainer", start_time: float, timeout_limit: float, ): try: search_results = self.engine.search(query, params) self.extend_container(result_container, start_time, search_results) except ValueError as e: # do not record the error self.logger.exception('engine {0} : invalid input : {1}'.format(self.engine.name, e)) except Exception as e: # pylint: disable=broad-except self.handle_exception(result_container, e) self.logger.exception('engine {0} : exception : {1}'.format(self.engine.name, e))