mirror of
https://github.com/searxng/searxng.git
synced 2025-07-19 03:09:25 +02:00
[enh] add ability to send engine data to subsequent requests
This commit is contained in:
parent
87f4cc4a9e
commit
44f4a9d49a
9 changed files with 50 additions and 5 deletions
|
@ -1,3 +1,4 @@
|
|||
from collections import defaultdict
|
||||
from typing import Dict, List, Optional, Tuple
|
||||
from searx.exceptions import SearxParameterException
|
||||
from searx.webutils import VALID_LANGUAGE_CODE
|
||||
|
@ -196,6 +197,15 @@ def parse_generic(preferences: Preferences, form: Dict[str, str], disabled_engin
|
|||
return query_engineref_list
|
||||
|
||||
|
||||
def parse_engine_data(form):
|
||||
engine_data = defaultdict(dict)
|
||||
for k, v in form.items():
|
||||
if k.startswith("engine_data"):
|
||||
_, engine, key = k.split('-')
|
||||
engine_data[engine][key] = v
|
||||
return engine_data
|
||||
|
||||
|
||||
def get_search_query_from_webapp(preferences: Preferences, form: Dict[str, str])\
|
||||
-> Tuple[SearchQuery, RawTextQuery, List[EngineRef], List[EngineRef]]:
|
||||
# no text for the query ?
|
||||
|
@ -217,6 +227,7 @@ def get_search_query_from_webapp(preferences: Preferences, form: Dict[str, str])
|
|||
query_time_range = parse_time_range(form)
|
||||
query_timeout = parse_timeout(form, raw_text_query)
|
||||
external_bang = raw_text_query.external_bang
|
||||
engine_data = parse_engine_data(form)
|
||||
|
||||
if not is_locked('categories') and raw_text_query.enginerefs and raw_text_query.specific:
|
||||
# if engines are calculated from query,
|
||||
|
@ -232,7 +243,8 @@ def get_search_query_from_webapp(preferences: Preferences, form: Dict[str, str])
|
|||
validate_engineref_list(query_engineref_list, preferences)
|
||||
|
||||
return (SearchQuery(query, query_engineref_list, query_lang, query_safesearch, query_pageno,
|
||||
query_time_range, query_timeout, external_bang=external_bang),
|
||||
query_time_range, query_timeout, external_bang=external_bang,
|
||||
engine_data=engine_data),
|
||||
raw_text_query,
|
||||
query_engineref_list_unknown,
|
||||
query_engineref_list_notoken)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue