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
This commit is contained in:
Alexandre FLAMENT 2022-08-27 10:01:04 +00:00
parent 56000d5162
commit 341ad46303
3 changed files with 23 additions and 7 deletions

View file

@ -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': {