Deploying to gh-pages from @ 9b27935f71 🚀

This commit is contained in:
dalf 2020-12-17 10:53:16 +00:00
parent 39bfd5b156
commit 9914058db7
8 changed files with 268 additions and 171 deletions

View File

@ -54,8 +54,8 @@ Getting categories without initiate the engine will only return `['general&#
>>> import searx.engines
... list(searx.engines.categories.keys())
['general']
>>> import searx
... searx.engines.initialize_engines(searx.settings['engines'])
>>> import searx.search
... searx.search.initialize()
... list(searx.engines.categories.keys())
['general', 'it', 'science', 'images', 'news', 'videos', 'music', 'files', 'social media', 'map']
@ -70,11 +70,11 @@ Example to run it from python:
>>> import importlib
... import json
... import sys
... import searx
... import searx.engines
... import searx.search
... search_query = 'rain'
... # initialize engines
... searx.engines.initialize_engines(searx.settings['engines'])
... searx.search.initialize()
... # load engines categories once instead of each time the function called
... engine_cs = list(searx.engines.categories.keys())
... # load module
@ -130,7 +130,6 @@ from json import dumps
from typing import Any, Dict, List, Optional
import searx
import searx.engines
import searx.preferences
import searx.query
import searx.search
@ -256,7 +255,7 @@ EngineCategoriesVar = Optional[List[str]]
if __name__ == '__main__':
searx.engines.initialize_engines(searx.settings['engines'])
searx.search.initialize()
engine_cs = list(searx.engines.categories.keys())
prog_args = parse_argument(category_choices=engine_cs)
search_q = get_search_query(prog_args, engine_categories=engine_cs)

View File

@ -33,7 +33,7 @@ Engine .. Paging support **P**
------------------------- -------------------- ------------
Shortcut **S** Language support **L**
Timeout **TO** Time range support **TR**
Disabled **D** Offline **O**
Disabled **D** Engine type **ET**
------------- ----------- -------------------- ------------
Safe search **SS**
------------- ----------- ---------------------------------
@ -62,10 +62,10 @@ Show errors **DE**
- SS
- D
- TR
- O
- W
- D
- DE
- ET
- W
- D
- DE
{% for name, mod in engines.items() %}
@ -79,7 +79,7 @@ Show errors **DE**
- {{(mod.safesearch and "y") or ""}}
- {{(mod.disabled and "y") or ""}}
- {{(mod.time_range_support and "y") or ""}}
- {{(mod.offline and "y") or ""}}
- {{mod.engine_type or ""}}
- {{mod.weight or 1 }}
- {{(mod.disabled and "y") or ""}}
- {{(mod.display_error_messages and "y") or ""}}

View File

@ -37,15 +37,16 @@ settings. However, the standard way is the following:
engine file
-----------
======================= =========== ===========================================
======================= =========== ========================================================
argument type information
======================= =========== ===========================================
======================= =========== ========================================================
categories list pages, in which the engine is working
paging boolean support multible pages
language_support boolean support language choosing
time_range_support boolean support search time range
offline boolean engine runs offline
======================= =========== ===========================================
engine_type str ``online`` by default, other possibles values are
``offline``, ``online_dictionnary``, ``online_currency``
======================= =========== ========================================================
.. _engine settings:
@ -111,22 +112,49 @@ passed arguments
These arguments can be used to construct the search query. Furthermore,
parameters with default value can be redefined for special purposes.
If the ``engine_type`` is ``online```:
====================== ============== ========================================================================
argument type default-value, information
====================== ============== ========================================================================
url str ``''``
method str ``'GET'``
headers set ``{}``
data set ``{}``
cookies set ``{}``
verify bool ``True``
headers.User-Agent str a random User-Agent
category str current category, like ``'general'``
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
====================== ============== ========================================================================
If the ``engine_type`` is ``online_dictionnary```, in addition to the ``online`` arguments:
====================== ============ ========================================================================
argument type default-value, information
====================== ============ ========================================================================
url string ``''``
method string ``'GET'``
headers set ``{}``
data set ``{}``
cookies set ``{}``
verify boolean ``True``
headers.User-Agent string a random User-Agent
category string current category, like ``'general'``
started datetime current date-time
pageno int current pagenumber
language string specific language code like ``'en_US'``, or ``'all'`` if unspecified
from_lang str specific language code like ``'en_US'``
to_lang str specific language code like ``'en_US'``
query str the text query without the languages
====================== ============ ========================================================================
If the ``engine_type`` is ``online_currency```, in addition to the ``online`` arguments:
====================== ============ ========================================================================
argument type default-value, information
====================== ============ ========================================================================
amount float the amount to convert
from str ISO 4217 code
to str ISO 4217 code
from_name str currency name
to_name str currency name
====================== ============ ========================================================================
parsed arguments
----------------
@ -137,12 +165,12 @@ request:
=================== =========== ==========================================================================
argument type information
=================== =========== ==========================================================================
url string requested url
method string HTTP request method
url str requested url
method str HTTP request method
headers set HTTP header information
data set HTTP data information (parsed if ``method != 'GET'``)
data set HTTP data information
cookies set HTTP cookies
verify boolean Performing SSL-Validity check
verify bool Performing SSL-Validity check
max_redirects int maximum redirects, hard limit
soft_max_redirects int maximum redirects, soft limit. Record an error but don't stop the engine
raise_for_httperror bool True by default: raise an exception if the HTTP code of response is >= 300

View File

@ -102,8 +102,8 @@
</tr>
<tr class="row-even"><td><p>Disabled</p></td>
<td><p><strong>D</strong></p></td>
<td><p>Offline</p></td>
<td><p><strong>O</strong></p></td>
<td><p>Engine type</p></td>
<td><p><strong>ET</strong></p></td>
</tr>
<tr class="row-odd"><td><p>Safe search</p></td>
<td><p><strong>SS</strong></p></td>
@ -152,7 +152,7 @@
<th class="head"><p>SS</p></th>
<th class="head"><p>D</p></th>
<th class="head"><p>TR</p></th>
<th class="head"><p>O</p></th>
<th class="head"><p>ET</p></th>
<th class="head"><p>W</p></th>
<th class="head"><p>D</p></th>
<th class="head"><p>DE</p></th>
@ -169,7 +169,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -184,7 +184,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -199,7 +199,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -214,7 +214,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -229,7 +229,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -244,7 +244,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -259,7 +259,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -274,7 +274,7 @@
<td></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -289,7 +289,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -304,7 +304,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -319,7 +319,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -334,7 +334,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -349,7 +349,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -364,7 +364,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online_currency</p></td>
<td><p>100</p></td>
<td></td>
<td><p>y</p></td>
@ -379,7 +379,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -394,7 +394,7 @@
<td></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -409,7 +409,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>2</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -424,7 +424,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -439,7 +439,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -454,7 +454,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>2</p></td>
<td></td>
<td><p>y</p></td>
@ -469,7 +469,7 @@
<td></td>
<td><p>y</p></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -484,7 +484,7 @@
<td><p>y</p></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -499,7 +499,7 @@
<td><p>y</p></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -514,7 +514,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -529,7 +529,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -544,7 +544,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -559,7 +559,7 @@
<td></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -574,7 +574,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -589,7 +589,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -604,7 +604,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -619,7 +619,7 @@
<td><p>y</p></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -634,7 +634,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -649,7 +649,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -664,7 +664,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -679,7 +679,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -694,7 +694,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -709,7 +709,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -724,7 +724,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -739,7 +739,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -754,7 +754,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -769,7 +769,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -784,7 +784,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -799,7 +799,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -814,7 +814,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -829,7 +829,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -844,7 +844,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -859,7 +859,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -874,7 +874,7 @@
<td></td>
<td><p>y</p></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -889,7 +889,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -904,7 +904,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -919,7 +919,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -934,7 +934,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -949,7 +949,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -964,7 +964,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -979,7 +979,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -994,7 +994,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1009,7 +1009,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1024,7 +1024,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1039,7 +1039,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1054,7 +1054,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1069,7 +1069,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1084,7 +1084,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1099,7 +1099,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1114,7 +1114,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1129,7 +1129,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1144,7 +1144,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1159,7 +1159,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1174,7 +1174,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1189,7 +1189,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1204,7 +1204,7 @@
<td><p>y</p></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1219,7 +1219,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1234,7 +1234,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1249,7 +1249,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1264,7 +1264,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1279,7 +1279,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1294,7 +1294,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1309,7 +1309,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1324,7 +1324,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1339,7 +1339,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1354,7 +1354,7 @@
<td></td>
<td><p>y</p></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1369,7 +1369,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1384,7 +1384,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1399,7 +1399,7 @@
<td></td>
<td></td>
<td><p>y</p></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1414,7 +1414,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1429,7 +1429,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1444,7 +1444,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1459,7 +1459,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1474,7 +1474,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1489,7 +1489,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1504,7 +1504,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1519,7 +1519,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1534,7 +1534,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1549,7 +1549,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td></td>
<td><p>y</p></td>
@ -1564,7 +1564,7 @@
<td></td>
<td></td>
<td></td>
<td></td>
<td><p>online_dictionnary</p></td>
<td><p>100</p></td>
<td></td>
<td><p>y</p></td>
@ -1579,7 +1579,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online_dictionnary</p></td>
<td><p>100</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1594,7 +1594,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1609,7 +1609,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1624,7 +1624,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1639,7 +1639,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1654,7 +1654,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1669,7 +1669,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1684,7 +1684,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>
@ -1699,7 +1699,7 @@
<td></td>
<td><p>y</p></td>
<td></td>
<td></td>
<td><p>online</p></td>
<td><p>1</p></td>
<td><p>y</p></td>
<td><p>y</p></td>

View File

@ -103,9 +103,9 @@ settings. However, the standard way is the following:</p>
<span id="id2"></span><h3><a class="toc-backref" href="#id6">engine file</a><a class="headerlink" href="#engine-file" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
<col style="width: 30%" />
<col style="width: 14%" />
<col style="width: 56%" />
<col style="width: 26%" />
<col style="width: 12%" />
<col style="width: 62%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>argument</p></th>
@ -130,9 +130,10 @@ settings. However, the standard way is the following:</p>
<td><p>boolean</p></td>
<td><p>support search time range</p></td>
</tr>
<tr class="row-even"><td><p>offline</p></td>
<td><p>boolean</p></td>
<td><p>engine runs offline</p></td>
<tr class="row-even"><td><p>engine_type</p></td>
<td><p>str</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">online</span></code> by default, other possibles values are
<code class="docutils literal notranslate"><span class="pre">offline</span></code>, <code class="docutils literal notranslate"><span class="pre">online_dictionnary</span></code>, <code class="docutils literal notranslate"><span class="pre">online_currency</span></code></p></td>
</tr>
</tbody>
</table>
@ -241,11 +242,12 @@ URL, arguments can be passed to the query.</p>
<h3><a class="toc-backref" href="#id11">passed arguments</a><a class="headerlink" href="#passed-arguments" title="Permalink to this headline"></a></h3>
<p>These arguments can be used to construct the search query. Furthermore,
parameters with default value can be redefined for special purposes.</p>
<p>If the <code class="docutils literal notranslate"><span class="pre">engine_type</span></code> is <code class="docutils literal notranslate"><span class="pre">online`</span></code>:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 21%" />
<col style="width: 11%" />
<col style="width: 68%" />
<col style="width: 20%" />
<col style="width: 13%" />
<col style="width: 67%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>argument</p></th>
@ -255,11 +257,11 @@ parameters with default value can be redefined for special purposes.</p>
</thead>
<tbody>
<tr class="row-even"><td><p>url</p></td>
<td><p>string</p></td>
<td><p>str</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">''</span></code></p></td>
</tr>
<tr class="row-odd"><td><p>method</p></td>
<td><p>string</p></td>
<td><p>str</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">'GET'</span></code></p></td>
</tr>
<tr class="row-even"><td><p>headers</p></td>
@ -275,31 +277,99 @@ parameters with default value can be redefined for special purposes.</p>
<td><p><code class="docutils literal notranslate"><span class="pre">{}</span></code></p></td>
</tr>
<tr class="row-odd"><td><p>verify</p></td>
<td><p>boolean</p></td>
<td><p>bool</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">True</span></code></p></td>
</tr>
<tr class="row-even"><td><p>headers.User-Agent</p></td>
<td><p>string</p></td>
<td><p>str</p></td>
<td><p>a random User-Agent</p></td>
</tr>
<tr class="row-odd"><td><p>category</p></td>
<td><p>string</p></td>
<td><p>str</p></td>
<td><p>current category, like <code class="docutils literal notranslate"><span class="pre">'general'</span></code></p></td>
</tr>
<tr class="row-even"><td><p>started</p></td>
<td><p>datetime</p></td>
<td><p>current date-time</p></td>
<tr class="row-even"><td><p>safesearch</p></td>
<td><p>int</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0</span></code>, between <code class="docutils literal notranslate"><span class="pre">0</span></code> and <code class="docutils literal notranslate"><span class="pre">2</span></code> (normal, moderate, strict)</p></td>
</tr>
<tr class="row-odd"><td><p>pageno</p></td>
<tr class="row-odd"><td><p>time_range</p></td>
<td><p>Optional[str]</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">None</span></code>, can be <code class="docutils literal notranslate"><span class="pre">day</span></code>, <code class="docutils literal notranslate"><span class="pre">week</span></code>, <code class="docutils literal notranslate"><span class="pre">month</span></code>, <code class="docutils literal notranslate"><span class="pre">year</span></code></p></td>
</tr>
<tr class="row-even"><td><p>pageno</p></td>
<td><p>int</p></td>
<td><p>current pagenumber</p></td>
</tr>
<tr class="row-even"><td><p>language</p></td>
<td><p>string</p></td>
<tr class="row-odd"><td><p>language</p></td>
<td><p>str</p></td>
<td><p>specific language code like <code class="docutils literal notranslate"><span class="pre">'en_US'</span></code>, or <code class="docutils literal notranslate"><span class="pre">'all'</span></code> if unspecified</p></td>
</tr>
</tbody>
</table>
<p>If the <code class="docutils literal notranslate"><span class="pre">engine_type</span></code> is <code class="docutils literal notranslate"><span class="pre">online_dictionnary`</span></code>, in addition to the <code class="docutils literal notranslate"><span class="pre">online</span></code> arguments:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 21%" />
<col style="width: 11%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>argument</p></th>
<th class="head"><p>type</p></th>
<th class="head"><p>default-value, information</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>from_lang</p></td>
<td><p>str</p></td>
<td><p>specific language code like <code class="docutils literal notranslate"><span class="pre">'en_US'</span></code></p></td>
</tr>
<tr class="row-odd"><td><p>to_lang</p></td>
<td><p>str</p></td>
<td><p>specific language code like <code class="docutils literal notranslate"><span class="pre">'en_US'</span></code></p></td>
</tr>
<tr class="row-even"><td><p>query</p></td>
<td><p>str</p></td>
<td><p>the text query without the languages</p></td>
</tr>
</tbody>
</table>
<p>If the <code class="docutils literal notranslate"><span class="pre">engine_type</span></code> is <code class="docutils literal notranslate"><span class="pre">online_currency`</span></code>, in addition to the <code class="docutils literal notranslate"><span class="pre">online</span></code> arguments:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 21%" />
<col style="width: 11%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>argument</p></th>
<th class="head"><p>type</p></th>
<th class="head"><p>default-value, information</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>amount</p></td>
<td><p>float</p></td>
<td><p>the amount to convert</p></td>
</tr>
<tr class="row-odd"><td><p>from</p></td>
<td><p>str</p></td>
<td><p>ISO 4217 code</p></td>
</tr>
<tr class="row-even"><td><p>to</p></td>
<td><p>str</p></td>
<td><p>ISO 4217 code</p></td>
</tr>
<tr class="row-odd"><td><p>from_name</p></td>
<td><p>str</p></td>
<td><p>currency name</p></td>
</tr>
<tr class="row-even"><td><p>to_name</p></td>
<td><p>str</p></td>
<td><p>currency name</p></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="parsed-arguments">
<h3><a class="toc-backref" href="#id12">parsed arguments</a><a class="headerlink" href="#parsed-arguments" title="Permalink to this headline"></a></h3>
@ -320,11 +390,11 @@ request:</p>
</thead>
<tbody>
<tr class="row-even"><td><p>url</p></td>
<td><p>string</p></td>
<td><p>str</p></td>
<td><p>requested url</p></td>
</tr>
<tr class="row-odd"><td><p>method</p></td>
<td><p>string</p></td>
<td><p>str</p></td>
<td><p>HTTP request method</p></td>
</tr>
<tr class="row-even"><td><p>headers</p></td>
@ -333,14 +403,14 @@ request:</p>
</tr>
<tr class="row-odd"><td><p>data</p></td>
<td><p>set</p></td>
<td><p>HTTP data information (parsed if <code class="docutils literal notranslate"><span class="pre">method</span> <span class="pre">!=</span> <span class="pre">'GET'</span></code>)</p></td>
<td><p>HTTP data information</p></td>
</tr>
<tr class="row-even"><td><p>cookies</p></td>
<td><p>set</p></td>
<td><p>HTTP cookies</p></td>
</tr>
<tr class="row-odd"><td><p>verify</p></td>
<td><p>boolean</p></td>
<td><p>bool</p></td>
<td><p>Performing SSL-Validity check</p></td>
</tr>
<tr class="row-even"><td><p>max_redirects</p></td>

View File

@ -1430,10 +1430,10 @@ build chapter: <a class="reference internal" href="../admin/engines.html#engines
<span class="m">-</span> SS
<span class="m">-</span> D
<span class="m">-</span> TR
<span class="m">-</span> O
<span class="m">-</span> W
<span class="m">-</span> D
<span class="m">-</span> DE
<span class="m">-</span> ET
<span class="m">-</span> W
<span class="m">-</span> D
<span class="m">-</span> DE
{% for name, mod in engines.items() %}
@ -1447,7 +1447,7 @@ build chapter: <a class="reference internal" href="../admin/engines.html#engines
<span class="m">-</span> {{(mod.safesearch and &quot;y&quot;) or &quot;&quot;}}
<span class="m">-</span> {{(mod.disabled and &quot;y&quot;) or &quot;&quot;}}
<span class="m">-</span> {{(mod.time_range_support and &quot;y&quot;) or &quot;&quot;}}
<span class="m">-</span> {{(mod.offline and &quot;y&quot;) or &quot;&quot;}}
<span class="m">-</span> {{mod.engine_type or &quot;&quot;}}
<span class="m">-</span> {{mod.weight or 1 }}
<span class="m">-</span> {{(mod.disabled and &quot;y&quot;) or &quot;&quot;}}
<span class="m">-</span> {{(mod.display_error_messages and &quot;y&quot;) or &quot;&quot;}}

File diff suppressed because one or more lines are too long

View File

@ -58,8 +58,8 @@
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">searx.engines</span>
<span class="gp">... </span><span class="nb">list</span><span class="p">(</span><span class="n">searx</span><span class="o">.</span><span class="n">engines</span><span class="o">.</span><span class="n">categories</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
<span class="go">[&#39;general&#39;]</span>
<span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">searx</span>
<span class="gp">... </span><span class="n">searx</span><span class="o">.</span><span class="n">engines</span><span class="o">.</span><span class="n">initialize_engines</span><span class="p">(</span><span class="n">searx</span><span class="o">.</span><span class="n">settings</span><span class="p">[</span><span class="s1">&#39;engines&#39;</span><span class="p">])</span>
<span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">searx.search</span>
<span class="gp">... </span><span class="n">searx</span><span class="o">.</span><span class="n">search</span><span class="o">.</span><span class="n">initialize</span><span class="p">()</span>
<span class="gp">... </span><span class="nb">list</span><span class="p">(</span><span class="n">searx</span><span class="o">.</span><span class="n">engines</span><span class="o">.</span><span class="n">categories</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
<span class="go">[&#39;general&#39;, &#39;it&#39;, &#39;science&#39;, &#39;images&#39;, &#39;news&#39;, &#39;videos&#39;, &#39;music&#39;, &#39;files&#39;, &#39;social media&#39;, &#39;map&#39;]</span>
</pre></div>
@ -72,11 +72,11 @@
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">importlib</span>
<span class="gp">... </span><span class="kn">import</span> <span class="nn">json</span>
<span class="gp">... </span><span class="kn">import</span> <span class="nn">sys</span>
<span class="gp">... </span><span class="kn">import</span> <span class="nn">searx</span>
<span class="gp">... </span><span class="kn">import</span> <span class="nn">searx.engines</span>
<span class="gp">... </span><span class="kn">import</span> <span class="nn">searx.search</span>
<span class="gp">... </span><span class="n">search_query</span> <span class="o">=</span> <span class="s1">&#39;rain&#39;</span>
<span class="gp">... </span><span class="c1"># initialize engines</span>
<span class="gp">... </span><span class="n">searx</span><span class="o">.</span><span class="n">engines</span><span class="o">.</span><span class="n">initialize_engines</span><span class="p">(</span><span class="n">searx</span><span class="o">.</span><span class="n">settings</span><span class="p">[</span><span class="s1">&#39;engines&#39;</span><span class="p">])</span>
<span class="gp">... </span><span class="n">searx</span><span class="o">.</span><span class="n">search</span><span class="o">.</span><span class="n">initialize</span><span class="p">()</span>
<span class="gp">... </span><span class="c1"># load engines categories once instead of each time the function called</span>
<span class="gp">... </span><span class="n">engine_cs</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">searx</span><span class="o">.</span><span class="n">engines</span><span class="o">.</span><span class="n">categories</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
<span class="gp">... </span><span class="c1"># load module</span>