| Age | Commit message (Collapse) | Author |
|
incident:
flask_babel.gettext() does not work in the engine modules.
cause:
the request() and response() functions of the engine modules run in the
processor, whose search() method runs in a thread and in the threads the
context of the Flask app does not exist. The context of the Flask app is
needed by the gettext() function for the L10n.
Solution:
copy context of the Flask app into the threads. [1]
special case:
We cannot equip the search() method of the processors with the decorator [1],
because the decorator requires a context (Flask app) that does not yet exist
at the time of the initialization of the processors (the initialization of the
processors is part of the initialization of the Flask app).
[1] https://flask.palletsprojects.com/en/2.3.x/api/#flask.copy_current_request_context
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
change)
Over the years the webapp module became more and more a mess. To improve the
modulaization a little this patch moves some implementations from the webapp
module to webutils module.
HINT: this patch brings non functional change
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
This patch was generated by black [1]::
make format.python
[1] https://github.com/psf/black
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
|
|
move robot tests to tests.robot
manage calls "python -m tests.robot"
|
|
Split the utils directory into:
* searx_extra contains update scripts, standalone_searx.py
* utils contains the files to build and setup searx.
|
|
from_bang is True when the user query contains a bang.
In this case the category is also set to 'none'.
from_bang only usage was in searx.webadapter.parse_specific :
if from_bang is True, then the EngineRef category is ignored and force to 'none'.
This commit also removes the searx.webadapter.parse_sepecific function.
|
|
The categories parameter is useless in the constructor:
it is always the categories from the EngineRef.
The categories becomes a property.
|
|
see searx.search.processors.abstract.EngineProcessor
First the method searx call the get_params method.
If the return value is not None, then the searx call the method search.
|
|
fix https://github.com/searx/searx/issues/2279
|
|
If test_engines_init.py runs before test_standalone_searx.py, the engine list is not empty.
It makes test_get_search_query flaky.
This commit initializes the engline list in test_standalone_searx.py
|
|
suppress test output
|
|
|
|
|
|
* chg: dev: update standalone_searx
parent d8a5df721b33dd8a7cc9e21dba4060f21d629f69
author rachmadaniHaryono <foreturiga@gmail.com> 1603896594 +0800
committer rachmadaniHaryono <foreturiga@gmail.com> 1603896619 +0800
chg: dev: debug engine_shortcuts
chg: dev: only initilize if engine is given
chg: dev: split main
chg: dev: standalone_searx
chg: dev: update standalone_searx
chg: doc: remove unnecessary log
chg: test: differentiate travis
chg: test: disable shortcut
chg: test: use default engine settings
fix: dev: category choices
fix: dev: duplicate engine shortcut
fix: dev: travis python3
fix: test: use empty string as shortcut
fix: test: apkm
fix: test: engine shortcut
fix: test: mypy
fix: test: parameter
fix: test: pep8
fix: test: py2 compatibilities
fix: test: searx settings
fix: test: travis engines
new: dev: deduplicate engine
new: dev: main receive engines parameter
new: dev: parse_argument accept engines parameter
new: dev: split search query from get_result func
new: test: basic result case
Suggestions: use RawTextQuery to make the suggestions URLs. Update all themes accordingly.
* new: doc: searx import and init
* chg: dev: parse_argument
- doc
- run on __main__
- simple parse_args
* chg: doc: module
* chg: dev: import section
- remove unused python path modification
- new required package
* chg: dev: script run
- parse_argument func return directly parsed results
- main func return dict instead json text
- dump directly on sys.stdout.write
* chg: dev: get_search_query and get_search_query func
* chg: dev: main func
- move inner function outside
- return dict instead of json text
* new: dev: add utils to doc sys path
* new: doc: standalone_searx
* fix: doc: run script
* chg: dev: mypy type hint
* chg: dev: SearchQuery don't have attr engines
* chg: dev: reset engines __init__
* chg: test: unit test update
* chg: dev: pylint and flake8
* new: test: standalone_searx
* chg: dev: main func and doc
* chg: dev: import and type hint
* new: dev: main func
- remove get_result func
- single func which just translate dict
* chg: test: put mypy on dev requirement
* chg: doc: update
* new: doc: add standalone_searx module member
* chg: doc: shell command line
* chg: dev: remove mypy
* chg: doc: module docstring
|