forked from Icycoide/searxng
[refactor] typification of SearXNG / EngineResults
In [1] and [2] we discussed the need of a Result.results property and how we can avoid unclear code. This patch implements a class for the reslut-lists of engines:: searx.result_types.EngineResults A simple example for the usage in engine development:: from searx.result_types import EngineResults ... def response(resp) -> EngineResults: res = EngineResults() ... res.add( res.types.Answer(answer="lorem ipsum ..", url="https://example.org") ) ... return res [1] https://github.com/searxng/searxng/pull/4183#pullrequestreview-257400034 [2] https://github.com/searxng/searxng/pull/4183#issuecomment-2614301580 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
edfbf1e118
commit
36a1ef1239
26 changed files with 195 additions and 140 deletions
|
@ -13,6 +13,7 @@ close to the implementation, its just a simple example. To get in use of this
|
|||
"""
|
||||
|
||||
import json
|
||||
from searx.result_types import EngineResults
|
||||
|
||||
engine_type = 'offline'
|
||||
categories = ['general']
|
||||
|
@ -48,14 +49,14 @@ def init(engine_settings=None):
|
|||
)
|
||||
|
||||
|
||||
def search(query, request_params):
|
||||
def search(query, request_params) -> EngineResults:
|
||||
"""Query (offline) engine and return results. Assemble the list of results from
|
||||
your local engine. In this demo engine we ignore the 'query' term, usual
|
||||
you would pass the 'query' term to your local engine to filter out the
|
||||
results.
|
||||
|
||||
"""
|
||||
ret_val = []
|
||||
res = EngineResults()
|
||||
|
||||
result_list = json.loads(_my_offline_engine)
|
||||
|
||||
|
@ -67,6 +68,6 @@ def search(query, request_params):
|
|||
# choose a result template or comment out to use the *default*
|
||||
'template': 'key-value.html',
|
||||
}
|
||||
ret_val.append(entry)
|
||||
res.append(entry)
|
||||
|
||||
return ret_val
|
||||
return res
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue