GRAYBYTE WORDPRESS FILE MANAGER3676

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/config/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/config//options_provider_mixin.py
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt

# type: ignore # Deprecated module.

import optparse  # pylint: disable=deprecated-module
import warnings

from pylint.config.callback_actions import _CallbackAction
from pylint.config.option import _validate
from pylint.typing import Options


class UnsupportedAction(Exception):
    """Raised by set_option when it doesn't know what to do for an action."""


class OptionsProviderMixIn:
    """Mixin to provide options to an OptionsManager."""

    # those attributes should be overridden
    name = "default"
    options: Options = ()
    level = 0

    def __init__(self):
        # TODO: 3.0: Remove deprecated class
        warnings.warn(
            "OptionsProviderMixIn has been deprecated and will be removed in pylint 3.0",
            DeprecationWarning,
            stacklevel=2,
        )
        self.config = optparse.Values()
        self.load_defaults()

    def load_defaults(self):
        """Initialize the provider using default values."""
        for opt, optdict in self.options:
            action = optdict.get("action")
            if action != "callback":
                # callback action have no default
                if optdict is None:
                    optdict = self.get_option_def(opt)
                default = optdict.get("default")
                self.set_option(opt, default, action, optdict)

    def option_attrname(self, opt, optdict=None):
        """Get the config attribute corresponding to opt."""
        if optdict is None:
            optdict = self.get_option_def(opt)
        return optdict.get("dest", opt.replace("-", "_"))

    def option_value(self, opt):
        """Get the current value for the given option."""
        return getattr(self.config, self.option_attrname(opt), None)

    def set_option(self, optname, value, action=None, optdict=None):
        """Method called to set an option (registered in the options list)."""
        if optdict is None:
            optdict = self.get_option_def(optname)
        if value is not None:
            value = _validate(value, optdict, optname)
        if action is None:
            action = optdict.get("action", "store")
        if action == "store":
            setattr(self.config, self.option_attrname(optname, optdict), value)
        elif action in {"store_true", "count"}:
            setattr(self.config, self.option_attrname(optname, optdict), value)
        elif action == "store_false":
            setattr(self.config, self.option_attrname(optname, optdict), value)
        elif action == "append":
            optname = self.option_attrname(optname, optdict)
            _list = getattr(self.config, optname, None)
            if _list is None:
                if isinstance(value, (list, tuple)):
                    _list = value
                elif value is not None:
                    _list = [value]
                setattr(self.config, optname, _list)
            elif isinstance(_list, tuple):
                setattr(self.config, optname, _list + (value,))
            else:
                _list.append(value)
        elif (
            action == "callback"
            or (not isinstance(action, str))
            and issubclass(action, _CallbackAction)
        ):
            return
        else:
            raise UnsupportedAction(action)

    def get_option_def(self, opt):
        """Return the dictionary defining an option given its name."""
        assert self.options
        for option in self.options:
            if option[0] == opt:
                return option[1]
        raise optparse.OptionError(
            f"no such option {opt} in section {self.name!r}", opt
        )

    def options_by_section(self):
        """Return an iterator on options grouped by section.

        (section, [list of (optname, optdict, optvalue)])
        """
        sections = {}
        for optname, optdict in self.options:
            sections.setdefault(optdict.get("group"), []).append(
                (optname, optdict, self.option_value(optname))
            )
        if None in sections:
            yield None, sections.pop(None)
        for section, options in sorted(sections.items()):
            yield section.upper(), options

    def options_and_values(self, options=None):
        if options is None:
            options = self.options
        for optname, optdict in options:
            yield optname, optdict, self.option_value(optname)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 15 2025 08:30:34
root / root
0755
__pycache__
--
May 15 2025 08:30:34
root / root
0755
_pylint_config
--
May 15 2025 08:30:34
root / root
0755
__init__.py
2.435 KB
April 17 2025 13:10:59
root / root
0644
argument.py
14.554 KB
April 17 2025 13:10:59
root / root
0644
arguments_manager.py
31.954 KB
April 17 2025 13:10:59
root / root
0644
arguments_provider.py
8.165 KB
April 17 2025 13:10:59
root / root
0644
callback_actions.py
13.825 KB
April 17 2025 13:10:59
root / root
0644
config_file_parser.py
4.53 KB
April 17 2025 13:10:59
root / root
0644
config_initialization.py
4.96 KB
April 17 2025 13:10:59
root / root
0644
configuration_mixin.py
1.549 KB
April 17 2025 13:10:59
root / root
0644
deprecation_actions.py
2.878 KB
April 17 2025 13:10:59
root / root
0644
environment_variable.py
0.396 KB
April 17 2025 13:10:59
root / root
0644
exceptions.py
0.797 KB
April 17 2025 13:10:59
root / root
0644
find_default_config_files.py
4.058 KB
April 17 2025 13:10:59
root / root
0644
help_formatter.py
2.625 KB
April 17 2025 13:10:59
root / root
0644
option.py
8.315 KB
April 17 2025 13:10:59
root / root
0644
option_manager_mixin.py
14.481 KB
April 17 2025 13:10:59
root / root
0644
option_parser.py
2.021 KB
April 17 2025 13:10:59
root / root
0644
options_provider_mixin.py
4.511 KB
April 17 2025 13:10:59
root / root
0644
utils.py
9.243 KB
April 17 2025 13:10:59
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF