searxngRebrandZaclys/searx
Markus Heiser 733b795d53 [fix] make flask_babel.gettext() work in engine modules (L10n & threads)
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>
2023-08-09 13:27:43 +02:00
..
answerers [fix] issue reported by pylint 22.1.0 2022-02-04 09:45:35 +01:00
botdetection [mod] limiter: blocklist and passlist (ip_lists) 2023-06-05 14:07:19 +02:00
data [mod] brave engines: add fetch_traits() / improve language support 2023-08-08 16:21:45 +02:00
enginelib [doc] fix some minor typos in the doc-strings of class EngineTraits 2023-08-08 08:15:53 +02:00
engines [mod] remove discontinued petalsearch engines 2023-08-09 07:17:40 +02:00
infopage [fix] minor typo in de/search-syntax page 2023-04-08 10:25:52 +02:00
metrics [fix] prepare for pylint 2.14.0 2022-06-03 15:41:52 +02:00
network [mod] Shuffle httpx's default ciphers of a SSL context randomly. 2023-03-19 13:40:31 +01:00
plugins [fix] limiter: replace real_ip by IPv4/v6 network 2023-06-01 15:51:14 +02:00
search [fix] make flask_babel.gettext() work in engine modules (L10n & threads) 2023-08-09 13:27:43 +02:00
static [build] /static 2023-07-19 15:07:45 +02:00
templates/simple [fix] simple template: preferences - add missing icon_smal import 2023-06-28 18:36:52 +02:00
tools [mod] tools.Config.get(): add missing type annotations 2023-06-05 14:07:19 +02:00
translations [translations] update from Weblate 2023-08-04 09:30:11 +02:00
__init__.py [format.python] initial formatting of the python code 2021-12-27 09:26:22 +01:00
autocomplete.py [mod] remove obsolete EngineTraits.supported_languages 2023-03-24 10:37:42 +01:00
babel_extract.py [mod] move category and names of constants to searx/searxng.msg 2022-03-16 09:55:53 +01:00
compat.py [fix] pyright repported errors 2022-07-30 18:04:44 +02:00
exceptions.py [doc] Add doc-strings to searx.exceptions 2023-01-29 19:06:19 +01:00
external_bang.py [mod] external bang: go to main instead of search page when query is empty 2023-04-25 15:02:34 +02:00
external_urls.py [fix] typos / reported by @kianmeng in searx PR-3366 2022-09-27 18:32:14 +02:00
flaskfix.py [format.python] initial formatting of the python code 2021-12-27 09:26:22 +01:00
locales.py use logger.warning 2023-05-19 19:35:29 +05:30
preferences.py [fix] ClientPref - don't raise exception if Accept-Language is invalid 2023-05-22 12:38:59 +02:00
query.py [mod] replace searx.languages by searx.sxng_locales 2023-03-24 10:37:42 +01:00
redisdb.py move searx.shared.redisdb to searx.redisdb 2022-12-10 09:26:38 +01:00
redislib.py [mod] redislib - optimize LUA script registration. 2022-05-30 11:21:09 +02:00
results.py [mod] move some code from webapp module to webutils module (no functional change) 2023-06-19 19:49:44 +02:00
searxng.msg [mod] clarify the difference of the default category and subgrouping 2023-04-07 11:03:25 +02:00
settings_defaults.py [fix] engine & network issues / documentation and type annotations 2023-06-25 13:58:26 +02:00
settings_loader.py [fix] categories can't be removed from UI (categories_as_tabs) 2023-04-03 19:08:27 +02:00
settings.yml [mod] remove discontinued petalsearch engines 2023-08-09 07:17:40 +02:00
sxng_locales.py [feat] engine: re-enables z-library (zlibrary-global.se) 2023-07-07 21:36:51 +02:00
unixthreadname.py [format.python] initial formatting of the python code 2021-12-27 09:26:22 +01:00
utils.py [mod] replace utils.match_language by locales.match_locale 2023-03-24 10:37:42 +01:00
version.py [fix] version format string generated by 'git show' 2023-05-10 18:33:45 +02:00
webadapter.py [mod] move language recognition to get_search_query_from_webapp 2023-04-15 22:23:33 +02:00
webapp.py [mod] move some code from webapp module to webutils module (no functional change) 2023-06-19 19:49:44 +02:00
webutils.py [fix] implement a JSONEncoder for the json format 2023-06-19 19:49:44 +02:00