Skip to content

Commit

Permalink
Update TODOs and add changelog entry about ArgumentsManager
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielNoord committed Apr 11, 2022
1 parent f87a938 commit e4c7f4a
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 14 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ Release date: TBA

Closes #5224

* ``OptionsManagerMixIn`` has been replaced with ``ArgumentsManager``. ``ArgumentsManager`` is considered
private API and most methods that were public on ``OptionsManagerMixIn`` have now been deprecated and will
be removed in a future release.

Ref #5392

* ``invalid-enum-extension``: Used when a class tries to extend an inherited Enum class.

Closes #5501
Expand Down
6 changes: 6 additions & 0 deletions doc/whatsnew/2.14.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ Other Changes
Closes #5283
Closes #1887

* ``OptionsManagerMixIn`` has been replaced with ``ArgumentsManager``. ``ArgumentsManager`` is considered
private API and most methods that were public on ``OptionsManagerMixIn`` have now been deprecated and will
be removed in a future release.

Ref #5392

* Fix false negative for ``bad-string-format-type`` if the value to be formatted is passed in
as a variable holding a constant.

Expand Down
32 changes: 18 additions & 14 deletions pylint/config/arguments_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ def _parse_command_line_configuration(
return parsed_args

def reset_parsers(self, usage: str = "") -> None:
"""DEPRECATED."""
warnings.warn(
"reset_parsers has been deprecated. Parsers should be instantiated "
"once during initialization and do not need to be reset.",
Expand All @@ -226,7 +227,7 @@ def reset_parsers(self, usage: str = "") -> None:
def register_options_provider(
self, provider: OptionsProviderMixIn, own_group: bool = True
) -> None:
"""Register an options provider."""
"""DEPRECATED: Register an options provider."""
warnings.warn(
"register_options_provider has been deprecated. Options providers and "
"arguments providers should be registered by initializing ArgumentsProvider. "
Expand Down Expand Up @@ -270,6 +271,7 @@ def add_option_group(
options: List[Tuple[str, OptionDict]],
provider: OptionsProviderMixIn,
) -> None:
"""DEPRECATED."""
warnings.warn(
"add_option_group has been deprecated. Option groups should be "
"registered by initializing ArgumentsProvider. "
Expand Down Expand Up @@ -307,6 +309,7 @@ def add_optik_option(
opt: str,
optdict: OptionDict,
) -> None:
"""DEPRECATED."""
warnings.warn(
"add_optik_option has been deprecated. Options should be automatically "
"added by initializing an ArgumentsProvider.",
Expand All @@ -322,7 +325,7 @@ def add_optik_option(
def optik_option(
self, provider: OptionsProviderMixIn, opt: str, optdict: OptionDict
) -> Tuple[List[str], OptionDict]:
"""Get our personal option definition and return a suitable form for
"""DEPRECATED: Get our personal option definition and return a suitable form for
use with optik/optparse
"""
warnings.warn(
Expand Down Expand Up @@ -360,7 +363,7 @@ def optik_option(
def generate_config(
self, stream: Optional[TextIO] = None, skipsections: Tuple[str, ...] = ()
) -> None:
"""Write a configuration file according to the current configuration
"""DEPRECATED: Write a configuration file according to the current configuration
into the given stream or stdout
"""
warnings.warn(
Expand Down Expand Up @@ -399,7 +402,7 @@ def generate_config(
printed = True

def load_provider_defaults(self) -> None:
"""Initialize configuration using default values."""
"""DEPRECATED: Initialize configuration using default values."""
warnings.warn(
"load_provider_defaults has been deprecated. Parsing of option defaults should be done "
"automatically by initializing an ArgumentsProvider.",
Expand All @@ -411,8 +414,10 @@ def load_provider_defaults(self) -> None:
def read_config_file(
self, config_file: Optional[Path] = None, verbose: bool = False
) -> None:
"""Read the configuration file but do not load it (i.e. dispatching
"""DEPRECATED: Read the configuration file but do not load it (i.e. dispatching
values to each option's provider)
:raises OSError: Whem the specified config file doesn't exist
"""
warnings.warn(
"read_config_file has been deprecated. It will be removed in pylint 3.0.",
Expand Down Expand Up @@ -448,7 +453,7 @@ def read_config_file(
print(f"Using config file '{config_file}'", file=sys.stderr)

def _parse_toml(self, config_file: Path, parser: configparser.ConfigParser) -> None:
"""Parse and handle errors of a toml configuration file.
"""DEPRECATED: Parse and handle errors of a toml configuration file.
TODO: Remove after read_config_file has been removed.
"""
Expand Down Expand Up @@ -483,7 +488,7 @@ def _parse_toml(self, config_file: Path, parser: configparser.ConfigParser) -> N
parser.set(section_name, option, value=value)

def load_config_file(self) -> None:
"""Dispatch values previously read from a configuration file to each
"""DEPRECATED: Dispatch values previously read from a configuration file to each
option's provider
"""
warnings.warn(
Expand All @@ -499,7 +504,7 @@ def load_config_file(self) -> None:
continue

def load_configuration(self, **kwargs: Any) -> None:
"""Override configuration according to given parameters."""
"""DEPRECATED: Override configuration according to given parameters."""
warnings.warn(
"load_configuration has been deprecated. It will be removed in pylint 3.0.",
DeprecationWarning,
Expand All @@ -510,7 +515,7 @@ def load_configuration(self, **kwargs: Any) -> None:

def load_configuration_from_config(self, config: Dict[str, Any]) -> None:
warnings.warn(
"load_configuration_from_config has been deprecated. It will be removed in pylint 3.0.",
"DEPRECATED: load_configuration_from_config has been deprecated. It will be removed in pylint 3.0.",
DeprecationWarning,
)
for opt, opt_value in config.items():
Expand All @@ -521,7 +526,7 @@ def load_configuration_from_config(self, config: Dict[str, Any]) -> None:
def load_command_line_configuration(
self, args: Optional[List[str]] = None
) -> List[str]:
"""Override configuration according to command line parameters.
"""DEPRECATED: Override configuration according to command line parameters.
return additional arguments
"""
Expand Down Expand Up @@ -551,10 +556,7 @@ def help(self, level: Optional[int] = None) -> str:
return self._arg_parser.format_help()

# pylint: disable-next=fixme
# TODO: Optparse: All methods below this line are copied to keep API-parity with
# OptionsManagerMixIn. They should either be deprecated or moved above this line
# to keep them in _ArgumentsManager

# TODO: Optparse: Refactor and potentially deprecate cb_set_provider_option
def cb_set_provider_option(self, option, opt, value, parser):
"""Optik callback for option setting."""
if opt.startswith("--"):
Expand All @@ -568,6 +570,8 @@ def cb_set_provider_option(self, option, opt, value, parser):
value = 1
self.global_set_option(opt, value)

# pylint: disable-next=fixme
# TODO: Optparse: Refactor and potentially deprecate global_set_option
def global_set_option(self, opt, value):
"""Set option on the correct option provider."""
self._all_options[opt].set_option(opt, value)

0 comments on commit e4c7f4a

Please sign in to comment.