summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2022-09-29 20:54:46 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2023-03-24 10:37:42 +0100
commit6e5f22e5583cfc2a413e0afac66d3c5ea9f628b1 (patch)
treed49c0795c7e8a49c19721258f4dc8b056fd06bfa /docs
parent64fea2f9cb079bd0055c6a23360097d285204515 (diff)
[mod] replace engines_languages.json by engines_traits.json
Implementations of the *traits* of the engines. Engine's traits are fetched from the origin engine and stored in a JSON file in the *data folder*. Most often traits are languages and region codes and their mapping from SearXNG's representation to the representation in the origin search engine. To load traits from the persistence:: searx.enginelib.traits.EngineTraitsMap.from_data() For new traits new properties can be added to the class:: searx.enginelib.traits.EngineTraits .. hint:: Implementation is downward compatible to the deprecated *supported_languages method* from the vintage implementation. The vintage code is tagged as *deprecated* an can be removed when all engines has been ported to the *traits method*. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'docs')
-rw-r--r--docs/admin/engines/configured_engines.rst2
-rw-r--r--docs/admin/engines/settings.rst7
-rw-r--r--docs/conf.py5
-rw-r--r--docs/dev/engine_overview.rst42
-rw-r--r--docs/dev/searxng_extra/update.rst8
-rw-r--r--docs/src/searx.enginelib.rst17
-rw-r--r--docs/src/searx.engines.rst8
-rw-r--r--docs/src/searx.search.processors.rst47
8 files changed, 119 insertions, 17 deletions
diff --git a/docs/admin/engines/configured_engines.rst b/docs/admin/engines/configured_engines.rst
index c7b6a1f5..fa1e5a4b 100644
--- a/docs/admin/engines/configured_engines.rst
+++ b/docs/admin/engines/configured_engines.rst
@@ -42,7 +42,7 @@ Explanation of the :ref:`general engine configuration` shown in the table
- Timeout
- Weight
- Paging
- - Language
+ - Language, Region
- Safe search
- Time range
diff --git a/docs/admin/engines/settings.rst b/docs/admin/engines/settings.rst
index 099e449e..0d9e14e5 100644
--- a/docs/admin/engines/settings.rst
+++ b/docs/admin/engines/settings.rst
@@ -569,10 +569,13 @@ engine is shown. Most of the options have a default value or even are optional.
To disable by default the engine, but not deleting it. It will allow the user
to manually activate it in the settings.
+``inactive``: optional
+ Remove the engine from the settings (*disabled & removed*).
+
``language`` : optional
If you want to use another language for a specific engine, you can define it
- by using the full ISO code of language and country, like ``fr_FR``, ``en_US``,
- ``de_DE``.
+ by using the ISO code of language (and region), like ``fr``, ``en-US``,
+ ``de-DE``.
``tokens`` : optional
A list of secret tokens to make this engine *private*, more details see
diff --git a/docs/conf.py b/docs/conf.py
index 8e0c3ab1..1d71b7f8 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -127,6 +127,10 @@ extensions = [
'notfound.extension', # https://github.com/readthedocs/sphinx-notfound-page
]
+autodoc_default_options = {
+ 'member-order': 'groupwise',
+}
+
myst_enable_extensions = [
"replacements", "smartquotes"
]
@@ -135,6 +139,7 @@ suppress_warnings = ['myst.domains']
intersphinx_mapping = {
"python": ("https://docs.python.org/3/", None),
+ "babel" : ("https://babel.readthedocs.io/en/latest/", None),
"flask": ("https://flask.palletsprojects.com/", None),
"flask_babel": ("https://python-babel.github.io/flask-babel/", None),
# "werkzeug": ("https://werkzeug.palletsprojects.com/", None),
diff --git a/docs/dev/engine_overview.rst b/docs/dev/engine_overview.rst
index 95ed267e..930fd081 100644
--- a/docs/dev/engine_overview.rst
+++ b/docs/dev/engine_overview.rst
@@ -54,6 +54,7 @@ Engine File
- ``offline`` :ref:`[ref] <offline engines>`
- ``online_dictionary``
- ``online_currency``
+ - ``online_url_search``
======================= =========== ========================================================
.. _engine settings:
@@ -131,8 +132,10 @@ Passed Arguments (request)
These arguments can be used to construct the search query. Furthermore,
parameters with default value can be redefined for special purposes.
+.. _engine request online:
-.. table:: If the ``engine_type`` is ``online``
+.. table:: If the ``engine_type`` is :py:obj:`online
+ <searx.search.processors.online.OnlineProcessor.get_params>`
:width: 100%
====================== ============== ========================================================================
@@ -149,12 +152,16 @@ parameters with default value can be redefined for special purposes.
safesearch int ``0``, between ``0`` and ``2`` (normal, moderate, strict)
time_range Optional[str] ``None``, can be ``day``, ``week``, ``month``, ``year``
pageno int current pagenumber
- language str specific language code like ``'en_US'``, or ``'all'`` if unspecified
+ searxng_locale str SearXNG's locale selected by user. Specific language code like
+ ``'en'``, ``'en-US'``, or ``'all'`` if unspecified.
====================== ============== ========================================================================
-.. table:: If the ``engine_type`` is ``online_dictionary``, in addition to the
- ``online`` arguments:
+.. _engine request online_dictionary:
+
+.. table:: If the ``engine_type`` is :py:obj:`online_dictionary
+ <searx.search.processors.online_dictionary.OnlineDictionaryProcessor.get_params>`,
+ in addition to the :ref:`online <engine request online>` arguments:
:width: 100%
====================== ============== ========================================================================
@@ -165,8 +172,11 @@ parameters with default value can be redefined for special purposes.
query str the text query without the languages
====================== ============== ========================================================================
-.. table:: If the ``engine_type`` is ``online_currency```, in addition to the
- ``online`` arguments:
+.. _engine request online_currency:
+
+.. table:: If the ``engine_type`` is :py:obj:`online_currency
+ <searx.search.processors.online_currency.OnlineCurrencyProcessor.get_params>`,
+ in addition to the :ref:`online <engine request online>` arguments:
:width: 100%
====================== ============== ========================================================================
@@ -179,6 +189,26 @@ parameters with default value can be redefined for special purposes.
to_name str currency name
====================== ============== ========================================================================
+.. _engine request online_url_search:
+
+.. table:: If the ``engine_type`` is :py:obj:`online_url_search
+ <searx.search.processors.online_url_search.OnlineUrlSearchProcessor.get_params>`,
+ in addition to the :ref:`online <engine request online>` arguments:
+ :width: 100%
+
+ ====================== ============== ========================================================================
+ argument type default-value, information
+ ====================== ============== ========================================================================
+ search_url dict URLs from the search query:
+
+ .. code:: python
+
+ {
+ 'http': str,
+ 'ftp': str,
+ 'data:image': str
+ }
+ ====================== ============== ========================================================================
Specify Request
---------------
diff --git a/docs/dev/searxng_extra/update.rst b/docs/dev/searxng_extra/update.rst
index d05c8140..a125303e 100644
--- a/docs/dev/searxng_extra/update.rst
+++ b/docs/dev/searxng_extra/update.rst
@@ -52,12 +52,12 @@ Scripts to update static data in :origin:`searx/data/`
:members:
-``update_languages.py``
-=======================
+``update_engine_traits.py``
+===========================
-:origin:`[source] <searxng_extra/update/update_languages.py>`
+:origin:`[source] <searxng_extra/update/update_engine_traits.py>`
-.. automodule:: searxng_extra.update.update_languages
+.. automodule:: searxng_extra.update.update_engine_traits
:members:
diff --git a/docs/src/searx.enginelib.rst b/docs/src/searx.enginelib.rst
new file mode 100644
index 00000000..651a04e6
--- /dev/null
+++ b/docs/src/searx.enginelib.rst
@@ -0,0 +1,17 @@
+.. _searx.enginelib:
+
+============
+Engine model
+============
+
+.. automodule:: searx.enginelib
+ :members:
+
+.. _searx.enginelib.traits:
+
+=============
+Engine traits
+=============
+
+.. automodule:: searx.enginelib.traits
+ :members:
diff --git a/docs/src/searx.engines.rst b/docs/src/searx.engines.rst
index 687fdb0b..4ce96b27 100644
--- a/docs/src/searx.engines.rst
+++ b/docs/src/searx.engines.rst
@@ -1,8 +1,8 @@
-.. _load_engines:
+.. _searx.engines:
-============
-Load Engines
-============
+=================
+SearXNG's engines
+=================
.. automodule:: searx.engines
:members:
diff --git a/docs/src/searx.search.processors.rst b/docs/src/searx.search.processors.rst
new file mode 100644
index 00000000..39068065
--- /dev/null
+++ b/docs/src/searx.search.processors.rst
@@ -0,0 +1,47 @@
+.. _searx.search.processors:
+
+=================
+Search processors
+=================
+
+.. contents:: Contents
+ :depth: 2
+ :local:
+ :backlinks: entry
+
+
+Abstract processor class
+========================
+
+.. automodule:: searx.search.processors.abstract
+ :members:
+
+Offline processor
+=================
+
+.. automodule:: searx.search.processors.offline
+ :members:
+
+Online processor
+================
+
+.. automodule:: searx.search.processors.online
+ :members:
+
+Online currency processor
+=========================
+
+.. automodule:: searx.search.processors.online_currency
+ :members:
+
+Online Dictionary processor
+===========================
+
+.. automodule:: searx.search.processors.online_dictionary
+ :members:
+
+Online URL search processor
+===========================
+
+.. automodule:: searx.search.processors.online_url_search
+ :members: