summaryrefslogtreecommitdiff
path: root/searx/engines/demo_offline.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2025-01-27 16:43:43 +0100
committerMarkus Heiser <markus.heiser@darmarIT.de>2025-01-28 07:07:08 +0100
commit36a1ef12399d529f210ceb4f8b28f497fabd0834 (patch)
tree4015a316c6505c3e52d43eea7137338331cbd4eb /searx/engines/demo_offline.py
parentedfbf1e1183815cea3b723f3b66260bc55679f32 (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.py9
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