diff options
author | Alexandre Flament <alex@al-f.net> | 2020-11-03 15:29:59 +0100 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2020-11-26 18:27:27 +0100 |
commit | 1cfe7f2a7543b2994a1afd0d81da1962d04423b0 (patch) | |
tree | c850bfcf07280828345fc706ec6becb5ea7b8e61 /searx/__init__.py | |
parent | 6ada5bac60f44a09198c9fec642d5c5939982f88 (diff) | |
download | searxng-1cfe7f2a7543b2994a1afd0d81da1962d04423b0.tar.gz searxng-1cfe7f2a7543b2994a1afd0d81da1962d04423b0.zip |
[enh] settings.yml: add use_default_settings option
This change is backward compatible with the existing configurations.
If a settings.yml loaded from an user defined location (SEARX_SETTINGS_PATH or /etc/searx/settings.yml),
then this settings can relied on the default settings.yml with this option:
user_default_settings:True
Diffstat (limited to 'searx/__init__.py')
-rw-r--r-- | searx/__init__.py | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/searx/__init__.py b/searx/__init__.py index 887ef806d..214e554d4 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -16,39 +16,15 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. ''' import logging +import searx.settings from os import environ from os.path import realpath, dirname, join, abspath, isfile -from io import open -from yaml import safe_load searx_dir = abspath(dirname(__file__)) engine_dir = dirname(realpath(__file__)) static_path = abspath(join(dirname(__file__), 'static')) - - -def check_settings_yml(file_name): - if isfile(file_name): - return file_name - else: - return None - - -# find location of settings.yml -if 'SEARX_SETTINGS_PATH' in environ: - # if possible set path to settings using the - # enviroment variable SEARX_SETTINGS_PATH - settings_path = check_settings_yml(environ['SEARX_SETTINGS_PATH']) -else: - # if not, get it from searx code base or last solution from /etc/searx - settings_path = check_settings_yml(join(searx_dir, 'settings.yml')) or check_settings_yml('/etc/searx/settings.yml') - -if not settings_path: - raise Exception('settings.yml not found') - -# load settings -with open(settings_path, 'r', encoding='utf-8') as settings_yaml: - settings = safe_load(settings_yaml) +settings, settings_load_message = searx.settings.load_settings() if settings['ui']['static_path']: static_path = settings['ui']['static_path'] @@ -58,7 +34,6 @@ enable debug if the environnement variable SEARX_DEBUG is 1 or true (whatever the value in settings.yml) or general.debug=True in settings.yml - disable debug if the environnement variable SEARX_DEBUG is 0 or false (whatever the value in settings.yml) @@ -78,7 +53,7 @@ else: logging.basicConfig(level=logging.WARNING) logger = logging.getLogger('searx') -logger.debug('read configuration from %s', settings_path) +logger.info(settings_load_message) logger.info('Initialisation done') if 'SEARX_SECRET' in environ: |