searx: Update search engines for 0.16.0

- Handle gzipped example settings files

- Fix yaml.load deprecation warnings

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Joseph Nuthalapati 2020-02-20 22:01:20 +05:30 committed by James Valleroy
parent cb7a9475bc
commit 5944e13cf0
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
2 changed files with 12 additions and 2 deletions

View File

@ -5,6 +5,7 @@ Configuration helper for searx.
"""
import argparse
import gzip
import os
import pathlib
import secrets
@ -119,7 +120,7 @@ def subcommand_get_safe_search(_):
def read_settings():
"""Load settings as dictionary from YAML config file."""
with open(SETTINGS_FILE, 'rb') as settings_file:
return yaml.load(settings_file)
return yaml.safe_load(settings_file)
def write_settings(settings):
@ -136,6 +137,14 @@ def _get_example_settings_file():
return searx_doc_dir / 'settings.yml.gz'
def _update_search_engines(settings):
"""Updates settings with the latest supported search engines."""
example_settings_file = _get_example_settings_file()
open_func = gzip.open if example_settings_file.suffix == '.gz' else open
with open_func(example_settings_file, 'rb') as example_settings:
settings['engines'] = yaml.safe_load(example_settings)['engines']
def subcommand_setup(_):
"""Post installation actions for Searx"""
_copy_uwsgi_configuration()
@ -154,6 +163,7 @@ def subcommand_setup(_):
_set_title(settings)
_set_timeout(settings)
_set_safe_search(settings)
_update_search_engines(settings)
write_settings(settings)
action_utils.service_restart('uwsgi')

View File

@ -17,7 +17,7 @@ from plinth.modules.users import register_group
from .manifest import (PUBLIC_ACCESS_SETTING_FILE, # noqa, pylint: disable=unused-import
backup, clients)
version = 3
version = 4
managed_packages = ['searx', 'uwsgi', 'uwsgi-plugin-python3']