From 964b3a9c21997851ef1e3305854545229a1e2ec5 Mon Sep 17 00:00:00 2001 From: "Eric N. Vander Weele" Date: Fri, 25 Oct 2019 15:20:06 -0400 Subject: [PATCH] application: Forward remaining unknown arguments to final CLI parsing Now that `parse_preliminary_options_and_args()` ignores unknown options and arguments, forward the remaining unknown arguments to the main CLI and configuration method to be consumed. This prevents re-parsing the entire `argv` list again by forwarding the remaining arguments left to be consumed. --- src/flake8/api/legacy.py | 4 ++-- src/flake8/main/application.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/flake8/api/legacy.py b/src/flake8/api/legacy.py index 1056fe9..e530088 100644 --- a/src/flake8/api/legacy.py +++ b/src/flake8/api/legacy.py @@ -28,14 +28,14 @@ def get_style_guide(**kwargs): :class:`StyleGuide` """ application = app.Application() - prelim_opts, prelim_args = application.parse_preliminary_options_and_args( + prelim_opts, remaining_args = application.parse_preliminary_options_and_args( # noqa: E501 [] ) flake8.configure_logging(prelim_opts.verbose, prelim_opts.output_file) application.make_config_finder(prelim_opts.append_config) application.find_plugins(prelim_opts.config, prelim_opts.isolated) application.register_plugin_options() - application.parse_configuration_and_cli([]) + application.parse_configuration_and_cli(remaining_args) # We basically want application.initialize to be called but with these # options set instead before we make our formatter, notifier, internal # style guide and file checker manager. diff --git a/src/flake8/main/application.py b/src/flake8/main/application.py index 8290068..9555202 100644 --- a/src/flake8/main/application.py +++ b/src/flake8/main/application.py @@ -338,14 +338,14 @@ class Application(object): """ # NOTE(sigmavirus24): When updating this, make sure you also update # our legacy API calls to these same methods. - prelim_opts, prelim_args = self.parse_preliminary_options_and_args( + prelim_opts, remaining_args = self.parse_preliminary_options_and_args( argv ) flake8.configure_logging(prelim_opts.verbose, prelim_opts.output_file) self.make_config_finder(prelim_opts.append_config) self.find_plugins(prelim_opts.config, prelim_opts.isolated) self.register_plugin_options() - self.parse_configuration_and_cli(argv) + self.parse_configuration_and_cli(remaining_args) self.make_formatter() self.make_guide() self.make_file_checker_manager()