From d75088b199d92f12c1881b871d826c4de8734ae0 Mon Sep 17 00:00:00 2001 From: "Eric N. Vander Weele" Date: Tue, 5 Nov 2019 15:15:00 +0800 Subject: application: Change `make_config_finder` to be a pure static method This change makes `Application.make_config_finder` to be side-effect free where it its return value is only determined by its input values. --- src/flake8/api/legacy.py | 4 +++- src/flake8/main/application.py | 19 +++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) (limited to 'src/flake8') diff --git a/src/flake8/api/legacy.py b/src/flake8/api/legacy.py index 6fa13b4..b8c69c5 100644 --- a/src/flake8/api/legacy.py +++ b/src/flake8/api/legacy.py @@ -30,7 +30,9 @@ 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) - application.make_config_finder(prelim_opts.append_config) + application.config_finder = application.make_config_finder( + application.program, prelim_opts.append_config + ) application.find_plugins(prelim_opts.config, prelim_opts.isolated) application.register_plugin_options() application.parse_configuration_and_cli(remaining_args) diff --git a/src/flake8/main/application.py b/src/flake8/main/application.py index 275ec08..9f0c9be 100644 --- a/src/flake8/main/application.py +++ b/src/flake8/main/application.py @@ -133,17 +133,22 @@ class Application(object): (self.result_count > 0) or self.catastrophic_failure ) - def make_config_finder(self, extra_config_files): - # type: (List[str]) -> None + @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 programin (e.g., flake8). :param list extra_config_files: List of addtional configuration files to be parsed for configuration. + :returns: + The configuration file finder + :rtype: + config.ConfigFileFinder """ - self.config_finder = config.ConfigFileFinder( - self.program, extra_config_files - ) + return config.ConfigFileFinder(program_name, extra_config_files) def find_plugins(self, config_file, ignore_config_files): # type: (Optional[str], bool) -> None @@ -340,7 +345,9 @@ 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) - self.make_config_finder(prelim_opts.append_config) + self.config_finder = self.make_config_finder( + self.program, prelim_opts.append_config + ) self.find_plugins(prelim_opts.config, prelim_opts.isolated) self.register_plugin_options() self.parse_configuration_and_cli(remaining_args) -- cgit v1.2.1