summaryrefslogtreecommitdiff
path: root/searx/search/processors
diff options
context:
space:
mode:
Diffstat (limited to 'searx/search/processors')
-rw-r--r--searx/search/processors/__init__.py5
-rw-r--r--searx/search/processors/abstract.py12
-rw-r--r--searx/search/processors/online.py3
-rw-r--r--searx/search/processors/online_currency.py4
-rw-r--r--searx/search/processors/online_dictionary.py5
-rw-r--r--searx/search/processors/online_url_search.py5
6 files changed, 26 insertions, 8 deletions
diff --git a/searx/search/processors/__init__.py b/searx/search/processors/__init__.py
index a270b4ef..1390de45 100644
--- a/searx/search/processors/__init__.py
+++ b/searx/search/processors/__init__.py
@@ -30,7 +30,10 @@ from .abstract import EngineProcessor
logger = logger.getChild('search.processors')
PROCESSORS: Dict[str, EngineProcessor] = {}
-"""Cache request processores, stored by *engine-name* (:py:func:`initialize`)"""
+"""Cache request processores, stored by *engine-name* (:py:func:`initialize`)
+
+:meta hide-value:
+"""
def get_processor_class(engine_type):
diff --git a/searx/search/processors/abstract.py b/searx/search/processors/abstract.py
index d74616db..5f1882ca 100644
--- a/searx/search/processors/abstract.py
+++ b/searx/search/processors/abstract.py
@@ -138,7 +138,8 @@ class EngineProcessor(ABC):
return False
def get_params(self, search_query, engine_category):
- """Returns a set of *request params* or ``None`` if request is not supported.
+ """Returns a set of (see :ref:`request params <engine request arguments>`) or
+ ``None`` if request is not supported.
Not supported conditions (``None`` is returned):
@@ -159,11 +160,20 @@ class EngineProcessor(ABC):
params['safesearch'] = search_query.safesearch
params['time_range'] = search_query.time_range
params['engine_data'] = search_query.engine_data.get(self.engine_name, {})
+ params['searxng_locale'] = search_query.lang
+
+ # deprecated / vintage --> use params['searxng_locale']
+ #
+ # Conditions related to engine's traits are implemented in engine.traits
+ # module. Don't do 'locale' decissions here in the abstract layer of the
+ # search processor, just pass the value from user's choice unchanged to
+ # the engine request.
if hasattr(self.engine, 'language') and self.engine.language:
params['language'] = self.engine.language
else:
params['language'] = search_query.lang
+
return params
@abstractmethod
diff --git a/searx/search/processors/online.py b/searx/search/processors/online.py
index 24271841..86e9eed8 100644
--- a/searx/search/processors/online.py
+++ b/searx/search/processors/online.py
@@ -51,6 +51,9 @@ class OnlineProcessor(EngineProcessor):
super().initialize()
def get_params(self, search_query, engine_category):
+ """Returns a set of :ref:`request params <engine request online>` or ``None``
+ if request is not supported.
+ """
params = super().get_params(search_query, engine_category)
if params is None:
return None
diff --git a/searx/search/processors/online_currency.py b/searx/search/processors/online_currency.py
index 92398239..7cb4205c 100644
--- a/searx/search/processors/online_currency.py
+++ b/searx/search/processors/online_currency.py
@@ -38,8 +38,8 @@ class OnlineCurrencyProcessor(OnlineProcessor):
engine_type = 'online_currency'
def get_params(self, search_query, engine_category):
- """Returns a set of *request params* or ``None`` if search query does not match
- to :py:obj:`parser_re`."""
+ """Returns a set of :ref:`request params <engine request online_currency>`
+ or ``None`` if search query does not match to :py:obj:`parser_re`."""
params = super().get_params(search_query, engine_category)
if params is None:
diff --git a/searx/search/processors/online_dictionary.py b/searx/search/processors/online_dictionary.py
index fbfc9df8..6145a47d 100644
--- a/searx/search/processors/online_dictionary.py
+++ b/searx/search/processors/online_dictionary.py
@@ -18,8 +18,9 @@ class OnlineDictionaryProcessor(OnlineProcessor):
engine_type = 'online_dictionary'
def get_params(self, search_query, engine_category):
- """Returns a set of *request params* or ``None`` if search query does not match
- to :py:obj:`parser_re`."""
+ """Returns a set of :ref:`request params <engine request online_dictionary>` or
+ ``None`` if search query does not match to :py:obj:`parser_re`.
+ """
params = super().get_params(search_query, engine_category)
if params is None:
return None
diff --git a/searx/search/processors/online_url_search.py b/searx/search/processors/online_url_search.py
index 6383fa37..a1dd6a01 100644
--- a/searx/search/processors/online_url_search.py
+++ b/searx/search/processors/online_url_search.py
@@ -20,9 +20,10 @@ class OnlineUrlSearchProcessor(OnlineProcessor):
engine_type = 'online_url_search'
def get_params(self, search_query, engine_category):
- """Returns a set of *request params* or ``None`` if search query does not match
- to at least one of :py:obj:`re_search_urls`.
+ """Returns a set of :ref:`request params <engine request online>` or ``None`` if
+ search query does not match to :py:obj:`re_search_urls`.
"""
+
params = super().get_params(search_query, engine_category)
if params is None:
return None