mirror of
https://github.com/searxng/searxng.git
synced 2024-11-29 12:06:57 +01:00
2039060b64
Integration / Python ${{ matrix.python-version }} (ubuntu-20.04, 3.10) (push) Waiting to run
Integration / Python ${{ matrix.python-version }} (ubuntu-20.04, 3.11) (push) Waiting to run
Integration / Python ${{ matrix.python-version }} (ubuntu-20.04, 3.12) (push) Waiting to run
Integration / Python ${{ matrix.python-version }} (ubuntu-20.04, 3.8) (push) Waiting to run
Integration / Python ${{ matrix.python-version }} (ubuntu-20.04, 3.9) (push) Waiting to run
Integration / Themes (push) Waiting to run
Integration / Documentation (push) Waiting to run
Integration / Update translations branch (push) Blocked by required conditions
Integration / Docker (push) Blocked by required conditions
The intention of this PR is to modernize the settings_loader implementations.
The concept is old (remember, this is partly from 2014), back then we only had
one config file, meanwhile we have had a folder with config files for a very
long time. Callers can now load a YAML configuration from this folder as
follows ::
settings_loader.get_yaml_cfg('my-config.yml')
- BTW this is a fix of #3557.
- Further the `existing_filename_or_none` construct dates back to times when
there was not yet a `pathlib.Path` in all Python versions we supported in the
past.
- Typehints have been added wherever appropriate
At the same time, this patch should also be downward compatible and not
introduce a new environment variable. The localization of the folder with the
configurations is further based on:
SEARXNG_SETTINGS_PATH (wich defaults to /etc/searxng/settings.yml)
Which means, the default config folder is `/etc/searxng/`.
ATTENTION: intended functional changes!
If SEARXNG_SETTINGS_PATH was set and pointed to a not existing file, the
previous implementation silently loaded the default configuration. This
behavior has been changed: if the file or folder does not exist, an
EnvironmentError exception will be thrown in future.
Closes: https://github.com/searxng/searxng/issues/3557
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>