[pylint] searx/__init__.py & searx/settings_defaults.py

BTW: normalize some indentations in searx/settings_defaults.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2021-06-01 16:03:19 +02:00
parent 6fa114c9ba
commit 495d86b520
2 changed files with 23 additions and 28 deletions

View File

@ -1,25 +1,12 @@
''' # SPDX-License-Identifier: AGPL-3.0-or-later
searx is free software: you can redistribute it and/or modify # lint: pylint
it under the terms of the GNU Affero General Public License as published by # pylint: disable=missing-function-docstring, missing-module-docstring
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
searx is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with searx. If not, see < http://www.gnu.org/licenses/ >.
(C) 2013- by Adam Tauber, <asciimoo@gmail.com>
'''
from os.path import dirname, abspath
import logging import logging
import searx.settings_loader import searx.settings_loader
from searx.settings_defaults import settings_set_defaults from searx.settings_defaults import settings_set_defaults
from os.path import dirname, abspath
searx_dir = abspath(dirname(__file__)) searx_dir = abspath(dirname(__file__))
searx_parent_dir = abspath(dirname(dirname(__file__))) searx_parent_dir = abspath(dirname(dirname(__file__)))
@ -45,7 +32,7 @@ else:
logger.info('max_request_timeout=%i second(s)', max_request_timeout) logger.info('max_request_timeout=%i second(s)', max_request_timeout)
class _brand_namespace: class _brand_namespace: # pylint: disable=invalid-name
@classmethod @classmethod
def get_val(cls, group, name, default=''): def get_val(cls, group, name, default=''):

View File

@ -1,6 +1,9 @@
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
# lint: pylint # lint: pylint
# pylint: disable=missing-function-docstring, missing-module-docstring # pylint: disable=missing-function-docstring
"""Implementation of the default settings.
"""
import typing import typing
import numbers import numbers
@ -48,16 +51,20 @@ class SettingsValue:
type_definition: typing.Union[None, typing.Any, typing.Tuple[typing.Any]]=None, type_definition: typing.Union[None, typing.Any, typing.Tuple[typing.Any]]=None,
default: typing.Any=None, default: typing.Any=None,
environ_name: str=None): environ_name: str=None):
self.type_definition = type_definition \ self.type_definition = (
if type_definition is None or isinstance(type_definition, tuple) \ type_definition
else (type_definition,) if type_definition is None or isinstance(type_definition, tuple)
else (type_definition,)
)
self.default = default self.default = default
self.environ_name = environ_name self.environ_name = environ_name
@property @property
def type_definition_repr(self): def type_definition_repr(self):
types_str = [t.__name__ if isinstance(t, type) else repr(t) types_str = [
for t in self.type_definition] t.__name__ if isinstance(t, type) else repr(t)
for t in self.type_definition
]
return ', '.join(types_str) return ', '.join(types_str)
def check_type_definition(self, value: typing.Any) -> None: def check_type_definition(self, value: typing.Any) -> None:
@ -65,8 +72,9 @@ class SettingsValue:
return return
type_list = tuple(t for t in self.type_definition if isinstance(t, type)) type_list = tuple(t for t in self.type_definition if isinstance(t, type))
if not isinstance(value, type_list): if not isinstance(value, type_list):
raise ValueError('The value has to be one of these types/values: {}'\ raise ValueError(
.format(self.type_definition_repr)) 'The value has to be one of these types/values: {}'.format(
self.type_definition_repr))
def __call__(self, value: typing.Any) -> typing.Any: def __call__(self, value: typing.Any) -> typing.Any:
if value == _UNDEFINED: if value == _UNDEFINED:
@ -76,7 +84,7 @@ class SettingsValue:
value = os.environ[self.environ_name] value = os.environ[self.environ_name]
if self.type_definition == (bool,): if self.type_definition == (bool,):
value = STR_TO_BOOL[value.lower()] value = STR_TO_BOOL[value.lower()]
#
self.check_type_definition(value) self.check_type_definition(value)
return value return value