diff --git a/searx/__init__.py b/searx/__init__.py index ded0ff2f5..a65266de8 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -1,25 +1,12 @@ -''' -searx is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -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, -''' +# SPDX-License-Identifier: AGPL-3.0-or-later +# lint: pylint +# pylint: disable=missing-function-docstring, missing-module-docstring +from os.path import dirname, abspath import logging + import searx.settings_loader from searx.settings_defaults import settings_set_defaults -from os.path import dirname, abspath - searx_dir = abspath(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) -class _brand_namespace: +class _brand_namespace: # pylint: disable=invalid-name @classmethod def get_val(cls, group, name, default=''): diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py index d1a57369d..8350d92ba 100644 --- a/searx/settings_defaults.py +++ b/searx/settings_defaults.py @@ -1,6 +1,9 @@ # SPDX-License-Identifier: AGPL-3.0-or-later # lint: pylint -# pylint: disable=missing-function-docstring, missing-module-docstring +# pylint: disable=missing-function-docstring +"""Implementation of the default settings. + +""" import typing import numbers @@ -48,16 +51,20 @@ class SettingsValue: type_definition: typing.Union[None, typing.Any, typing.Tuple[typing.Any]]=None, default: typing.Any=None, environ_name: str=None): - self.type_definition = type_definition \ - if type_definition is None or isinstance(type_definition, tuple) \ - else (type_definition,) + self.type_definition = ( + type_definition + if type_definition is None or isinstance(type_definition, tuple) + else (type_definition,) + ) self.default = default self.environ_name = environ_name @property def type_definition_repr(self): - types_str = [t.__name__ if isinstance(t, type) else repr(t) - for t in self.type_definition] + types_str = [ + t.__name__ if isinstance(t, type) else repr(t) + for t in self.type_definition + ] return ', '.join(types_str) def check_type_definition(self, value: typing.Any) -> None: @@ -65,8 +72,9 @@ class SettingsValue: return type_list = tuple(t for t in self.type_definition if isinstance(t, type)) if not isinstance(value, type_list): - raise ValueError('The value has to be one of these types/values: {}'\ - .format(self.type_definition_repr)) + raise ValueError( + 'The value has to be one of these types/values: {}'.format( + self.type_definition_repr)) def __call__(self, value: typing.Any) -> typing.Any: if value == _UNDEFINED: @@ -76,7 +84,7 @@ class SettingsValue: value = os.environ[self.environ_name] if self.type_definition == (bool,): value = STR_TO_BOOL[value.lower()] - # + self.check_type_definition(value) return value