Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 495d86b5 authored by Markus Heiser's avatar Markus Heiser
Browse files

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



BTW: normalize some indentations in searx/settings_defaults.py

Signed-off-by: default avatarMarkus Heiser <markus.heiser@darmarit.de>
parent 6fa114c9
Loading
Loading
Loading
Loading
+6 −19
Original line number Diff line number Diff line
'''
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, <asciimoo@gmail.com>
'''
# 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=''):
+17 −9
Original line number Diff line number Diff line
# 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) \
        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