diff options
| author | Markus Heiser <markus.heiser@darmarit.de> | 2025-01-27 16:43:43 +0100 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarIT.de> | 2025-01-28 07:07:08 +0100 |
| commit | 36a1ef12399d529f210ceb4f8b28f497fabd0834 (patch) | |
| tree | 4015a316c6505c3e52d43eea7137338331cbd4eb /searx/engines/demo_offline.py | |
| parent | edfbf1e1183815cea3b723f3b66260bc55679f32 (diff) | |
[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>
Diffstat (limited to 'searx/engines/demo_offline.py')
| -rw-r--r-- | searx/engines/demo_offline.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/searx/engines/demo_offline.py b/searx/engines/demo_offline.py index 97659465a..ffcdb46a9 100644 --- a/searx/engines/demo_offline.py +++ b/searx/engines/demo_offline.py @@ -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 |