mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-30 18:56:53 +00:00
use return value of parse_args directly
This commit is contained in:
parent
d582affb2c
commit
8d3afe40e1
5 changed files with 21 additions and 26 deletions
|
|
@ -80,9 +80,6 @@ class Application:
|
|||
#: The user-supplied options parsed into an instance of
|
||||
#: :class:`argparse.Namespace`
|
||||
self.options: Optional[argparse.Namespace] = None
|
||||
#: The left over arguments that were not parsed by
|
||||
#: :attr:`option_manager`
|
||||
self.args: Optional[List[str]] = None
|
||||
#: The number of errors, warnings, and other messages after running
|
||||
#: flake8 and taking into account ignored errors and lines.
|
||||
self.result_count = 0
|
||||
|
|
@ -183,7 +180,7 @@ class Application:
|
|||
:param list argv:
|
||||
Command-line arguments passed in directly.
|
||||
"""
|
||||
self.options, self.args = aggregator.aggregate_options(
|
||||
self.options = aggregator.aggregate_options(
|
||||
self.option_manager,
|
||||
config_finder,
|
||||
argv,
|
||||
|
|
@ -201,11 +198,11 @@ class Application:
|
|||
|
||||
assert self.check_plugins is not None
|
||||
self.check_plugins.provide_options(
|
||||
self.option_manager, self.options, self.args
|
||||
self.option_manager, self.options, self.options.filenames
|
||||
)
|
||||
assert self.formatting_plugins is not None
|
||||
self.formatting_plugins.provide_options(
|
||||
self.option_manager, self.options, self.args
|
||||
self.option_manager, self.options, self.options.filenames
|
||||
)
|
||||
|
||||
def formatter_for(self, formatter_plugin_name):
|
||||
|
|
@ -251,9 +248,10 @@ class Application:
|
|||
|
||||
def make_file_checker_manager(self) -> None:
|
||||
"""Initialize our FileChecker Manager."""
|
||||
assert self.options is not None
|
||||
self.file_checker_manager = checker.Manager(
|
||||
style_guide=self.guide,
|
||||
arguments=self.args,
|
||||
arguments=self.options.filenames,
|
||||
checker_plugins=self.check_plugins,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ applies the user-specified command-line configuration on top of it.
|
|||
import argparse
|
||||
import logging
|
||||
from typing import List
|
||||
from typing import Tuple
|
||||
|
||||
from flake8.options import config
|
||||
from flake8.options.manager import OptionManager
|
||||
|
|
@ -18,7 +17,7 @@ def aggregate_options(
|
|||
manager: OptionManager,
|
||||
config_finder: config.ConfigFileFinder,
|
||||
argv: List[str],
|
||||
) -> Tuple[argparse.Namespace, List[str]]:
|
||||
) -> argparse.Namespace:
|
||||
"""Aggregate and merge CLI and config file options.
|
||||
|
||||
:param flake8.options.manager.OptionManager manager:
|
||||
|
|
@ -35,7 +34,7 @@ def aggregate_options(
|
|||
tuple(argparse.Namespace, list)
|
||||
"""
|
||||
# Get defaults from the option parser
|
||||
default_values, _ = manager.parse_args([])
|
||||
default_values = manager.parse_args([])
|
||||
|
||||
# Make our new configuration file mergerator
|
||||
config_parser = config.ConfigParser(
|
||||
|
|
|
|||
|
|
@ -459,15 +459,13 @@ class OptionManager:
|
|||
self,
|
||||
args: Optional[List[str]] = None,
|
||||
values: Optional[argparse.Namespace] = None,
|
||||
) -> Tuple[argparse.Namespace, List[str]]:
|
||||
) -> argparse.Namespace:
|
||||
"""Proxy to calling the OptionParser's parse_args method."""
|
||||
self.generate_epilog()
|
||||
self.update_version_string()
|
||||
if values:
|
||||
self.parser.set_defaults(**vars(values))
|
||||
parsed_args = self.parser.parse_args(args)
|
||||
# TODO: refactor callers to not need this
|
||||
return parsed_args, parsed_args.filenames
|
||||
return self.parser.parse_args(args)
|
||||
|
||||
def parse_known_args(
|
||||
self, args: Optional[List[str]] = None
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ def test_aggregate_options_with_config(optmanager):
|
|||
config_finder = config.ConfigFileFinder(
|
||||
"flake8", config_file=CLI_SPECIFIED_CONFIG
|
||||
)
|
||||
options, args = aggregator.aggregate_options(
|
||||
options = aggregator.aggregate_options(
|
||||
optmanager, config_finder, arguments
|
||||
)
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ def test_aggregate_options_when_isolated(optmanager):
|
|||
]
|
||||
config_finder = config.ConfigFileFinder("flake8", ignore_config_files=True)
|
||||
optmanager.extend_default_ignore(["E8"])
|
||||
options, args = aggregator.aggregate_options(
|
||||
options = aggregator.aggregate_options(
|
||||
optmanager, config_finder, arguments
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -33,16 +33,16 @@ def test_option_manager_including_parent_options():
|
|||
optmanager = manager.OptionManager(
|
||||
prog="flake8", version=TEST_VERSION, parents=[parent_parser]
|
||||
)
|
||||
option, _ = optmanager.parse_args(["--parent", "foo"])
|
||||
options = optmanager.parse_args(["--parent", "foo"])
|
||||
|
||||
# THEN
|
||||
assert option.parent == "foo"
|
||||
assert options.parent == "foo"
|
||||
|
||||
|
||||
def test_parse_args_forwarding_default_values(optmanager):
|
||||
"""Verify default provided values are present in the final result."""
|
||||
namespace = argparse.Namespace(foo="bar")
|
||||
options, args = optmanager.parse_args([], namespace)
|
||||
options = optmanager.parse_args([], namespace)
|
||||
assert options.foo == "bar"
|
||||
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ def test_parse_args_forwarding_type_coercion(optmanager):
|
|||
"""Verify default provided values are type converted from add_option."""
|
||||
optmanager.add_option("--foo", type=int)
|
||||
namespace = argparse.Namespace(foo="5")
|
||||
options, args = optmanager.parse_args([], namespace)
|
||||
options = optmanager.parse_args([], namespace)
|
||||
assert options.foo == 5
|
||||
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ def test_parse_args_normalize_path(optmanager):
|
|||
|
||||
optmanager.add_option("--config", normalize_paths=True)
|
||||
|
||||
options, args = optmanager.parse_args(["--config", "../config.ini"])
|
||||
options = optmanager.parse_args(["--config", "../config.ini"])
|
||||
assert options.config == os.path.abspath("../config.ini")
|
||||
|
||||
|
||||
|
|
@ -117,7 +117,7 @@ def test_parse_args_handles_comma_separated_defaults(optmanager):
|
|||
"--exclude", default="E123,W234", comma_separated_list=True
|
||||
)
|
||||
|
||||
options, args = optmanager.parse_args([])
|
||||
options = optmanager.parse_args([])
|
||||
assert options.exclude == ["E123", "W234"]
|
||||
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ def test_parse_args_handles_comma_separated_lists(optmanager):
|
|||
"--exclude", default="E123,W234", comma_separated_list=True
|
||||
)
|
||||
|
||||
options, args = optmanager.parse_args(["--exclude", "E201,W111,F280"])
|
||||
options = optmanager.parse_args(["--exclude", "E201,W111,F280"])
|
||||
assert options.exclude == ["E201", "W111", "F280"]
|
||||
|
||||
|
||||
|
|
@ -143,7 +143,7 @@ def test_parse_args_normalize_paths(optmanager):
|
|||
"--extra-config", normalize_paths=True, comma_separated_list=True
|
||||
)
|
||||
|
||||
options, args = optmanager.parse_args(
|
||||
options = optmanager.parse_args(
|
||||
["--extra-config", "../config.ini,tox.ini,flake8/some-other.cfg"]
|
||||
)
|
||||
assert options.extra_config == [
|
||||
|
|
@ -319,14 +319,14 @@ def test_optparse_normalize_callback_option_legacy(optmanager):
|
|||
def test_optparse_normalize_types(optmanager, type_s, input_val, expected):
|
||||
"""Test the optparse shim for type="typename"."""
|
||||
optmanager.add_option("--foo", type=type_s)
|
||||
opts, args = optmanager.parse_args(["--foo", input_val])
|
||||
opts = optmanager.parse_args(["--foo", input_val])
|
||||
assert opts.foo == expected
|
||||
|
||||
|
||||
def test_optparse_normalize_choice_type(optmanager):
|
||||
"""Test the optparse shim for type="choice"."""
|
||||
optmanager.add_option("--foo", type="choice", choices=("1", "2", "3"))
|
||||
opts, args = optmanager.parse_args(["--foo", "1"])
|
||||
opts = optmanager.parse_args(["--foo", "1"])
|
||||
assert opts.foo == "1"
|
||||
# fails to parse
|
||||
with pytest.raises(SystemExit):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue