Merge branch 'app-remove-make-config-finder' into 'master'

application: Inline creation of config.ConfigFileFinder

See merge request pycqa/flake8!393
This commit is contained in:
Anthony Sottile 2019-12-03 18:25:50 +00:00
commit bb61b3df82
4 changed files with 13 additions and 28 deletions

View file

@ -10,6 +10,7 @@ import os.path
import flake8
from flake8.formatting import base as formatter
from flake8.main import application as app
from flake8.options import config
LOG = logging.getLogger(__name__)
@ -30,9 +31,10 @@ def get_style_guide(**kwargs):
application = app.Application()
prelim_opts, remaining_args = application.parse_preliminary_options([])
flake8.configure_logging(prelim_opts.verbose, prelim_opts.output_file)
config_finder = application.make_config_finder(
config_finder = config.ConfigFileFinder(
application.program, prelim_opts.append_config
)
application.find_plugins(
config_finder, prelim_opts.config, prelim_opts.isolated
)

View file

@ -131,23 +131,6 @@ class Application(object):
(self.result_count > 0) or self.catastrophic_failure
)
@staticmethod
def make_config_finder(program_name, extra_config_files):
# type: (str, List[str]) -> config.ConfigFileFinder
"""Make our ConfigFileFinder based on preliminary options.
:param str program_name:
Name of the current program (e.g., flake8).
:param list extra_config_files:
List of additional configuration files to be parsed for
configuration.
:returns:
The configuration file finder
:rtype:
config.ConfigFileFinder
"""
return config.ConfigFileFinder(program_name, extra_config_files)
def find_plugins(self, config_finder, config_file, ignore_config_files):
# type: (config.ConfigFileFinder, Optional[str], bool) -> None
"""Find and load the plugins for this application.
@ -335,7 +318,7 @@ class Application(object):
# our legacy API calls to these same methods.
prelim_opts, remaining_args = self.parse_preliminary_options(argv)
flake8.configure_logging(prelim_opts.verbose, prelim_opts.output_file)
config_finder = self.make_config_finder(
config_finder = config.ConfigFileFinder(
self.program, prelim_opts.append_config
)
self.find_plugins(

View file

@ -346,9 +346,8 @@ class FileProcessor(object):
:rtype:
bool
"""
if (
not self.options.disable_noqa
and any(defaults.NOQA_FILE.match(line) for line in self.lines)
if not self.options.disable_noqa and any(
defaults.NOQA_FILE.match(line) for line in self.lines
):
return True
elif any(defaults.NOQA_FILE.search(line) for line in self.lines):

View file

@ -21,15 +21,16 @@ def test_get_style_guide():
mockedapp = mock.Mock()
mockedapp.parse_preliminary_options.return_value = (prelim_opts, [])
mockedapp.program = 'flake8'
config_finder = ConfigFileFinder(mockedapp.program, [])
mockedapp.make_config_finder.return_value = config_finder
with mock.patch('flake8.main.application.Application') as application:
application.return_value = mockedapp
style_guide = api.get_style_guide()
with mock.patch('flake8.api.legacy.config.ConfigFileFinder') as mock_config_finder: # noqa: E501
config_finder = ConfigFileFinder(mockedapp.program, [])
mock_config_finder.return_value = config_finder
with mock.patch('flake8.main.application.Application') as application:
application.return_value = mockedapp
style_guide = api.get_style_guide()
application.assert_called_once_with()
mockedapp.parse_preliminary_options.assert_called_once_with([])
mockedapp.make_config_finder.assert_called_once_with(mockedapp.program, [])
mockedapp.find_plugins.assert_called_once_with(config_finder, None, False)
mockedapp.register_plugin_options.assert_called_once_with()
mockedapp.parse_configuration_and_cli.assert_called_once_with(