From 341ad4630398ed9ad12d134aeab2f60ba85a1e82 Mon Sep 17 00:00:00 2001 From: Alexandre FLAMENT Date: Sat, 27 Aug 2022 10:01:04 +0000 Subject: settings.yml: set default values for result_proxy * initialize result_proxy with searx/settings_defaults.py * allow result_proxy.key to be a string this commit supersedes #1522 --- searx/settings_defaults.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'searx/settings_defaults.py') diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py index 3185dd7bd..c3d5ae9d1 100644 --- a/searx/settings_defaults.py +++ b/searx/settings_defaults.py @@ -9,6 +9,7 @@ import numbers import errno import os import logging +from base64 import b64decode from os.path import dirname, abspath from searx.languages import language_codes as languages @@ -117,6 +118,15 @@ class SettingsDirectoryValue(SettingsValue): return super().__call__(value) +class SettingsBytesValue(SettingsValue): + """str are base64 decoded""" + + def __call__(self, value: typing.Any) -> typing.Any: + if isinstance(value, str): + value = b64decode(value) + return super().__call__(value) + + def apply_schema(settings, schema, path_list): error = False for key, value in schema.items(): @@ -215,6 +225,11 @@ SCHEMA = { 'extra_proxy_timeout': SettingsValue(int, 0), 'networks': {}, }, + 'result_proxy': { + 'url': SettingsValue((None, str), None), + 'key': SettingsBytesValue((None, bytes), None), + 'proxify_results': SettingsValue(bool, False), + }, 'plugins': SettingsValue(list, []), 'enabled_plugins': SettingsValue((None, list), None), 'checker': { -- cgit v1.2.3-54-g00ecf