| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This fixes a regression introduced in daca2c8 and b14d47b.
The --output-file` option was consumed by the preliminary option parser.
However, the `BaseFormatter` class needs the option for setting the
output filename. This special cases this option to ensure it gets
re-parsed and respected when specified on the CLI.
|
| |
|
|
|
|
| |
Now that `ConfigFileFinder.config_file` attribute is used everywhere and
is constructed from the `--config` CLI option, the now unused
`cli_config` parameters can be safely removed.
|
| |
|
|
|
|
|
|
|
| |
The `--config` flag is passed into `MergedConfigParser.parse()` and the
module-level function `config.get_local_plugins()`. Since both of these
places utilize the `ConfigFileFinder` object and the configuration file
override pertains to how configuration behaves, this incremental change
directly associates the `ConfigFileFinder` and the configuration file
override.
|
| |
|
|
|
| |
The 'ignore_config_files' parameter was accidentally not removed in
c918e72.
|
| |
|
|
|
|
| |
Now that `ConfigFileFinder.ignore_config_files` attribute is used
everywhere and is constructed from the `--isolated` CLI option, the now
unused `isolated` parameters can be safely removed.
|
| |
|
|
|
|
|
|
|
| |
The `--isolated` flag is passed into `MergedConfigParser.parse()` and
the module-level function `config.get_local_plugins()`. Since both of
these places utilize the `ConfigFileFinder` object and isolation
pertains to how the `ConfigFileFinder` should behave with respect to
isolation, this incremental change more directly associates the
`ConfigFileFinder` and configuration file isolate.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression introduced in !346 to ensure that `--config` and
`--isolated` are recognized in `aggregate_options()`.
The regression manifested because `aggregate_options()` was relying on
re-parsing `argv` to obtain the option values. However, !346 changed
the preliminary parsing logic to only parse and "eat" what is necessary
and forward along the options needed before all the configuration was
loaded. This code path was overlooked because the tests in
`test_aggregator()` were passing but the call from the `Application`
object would never have these options in the remaining `argv` list to be
passed long.
|
| |
|
|
|
|
| |
Simplify the initialization code path by invoking
`config.ConfigFileFinder` directly instead of the extra hop by calling
the static class-level `Application.make_config_finder()` method.
|
| | |
|
| |\
| |
| |
| |
| | |
Fix --exit-zero when --diff is empty
See merge request pycqa/flake8!391
|
| | |
| |
| |
| | |
fixes pycqa/flake8/merge_requests!137
|
| |/ |
|
| |\
| |
| |
| |
| | |
application: Update find_plugins() docstring
See merge request pycqa/flake8!387
|
| | |
| |
| |
| |
| |
| | |
When the checks for the cached objects were removed in
2d5eae637a0738d4bad62bed36b57fef07682df6, the `.find_plugins()`
docstring need to be updated to specify the updated behavior.
|
| |/
|
|
|
|
| |
The `.local_plugins` attribute can be removed from the `Application`
since the usage of the `LocalPlugins` object is isolated to the
`.find_plugins()` method.
|
| |
|
|
|
|
|
| |
This change removes the `.config_finder` object from the `Application`.
Since the configuration finder is only needed during initialization, we
constrain the finder to be returned and passed to other methods
necessary for initialization.
|
| |\
| |
| |
| |
| | |
application: Change `make_config_finder` to be a pure static method
See merge request pycqa/flake8!378
|
| | |
| |
| |
| |
| | |
This change makes `Application.make_config_finder` to be side-effect
free where it its return value is only determined by its input values.
|
| |/
|
|
|
|
| |
Remove the checks to see an object was already created before creating
or obtaining it. This is not necessary as each entire run of `flake8`
calls these methods *only* once.
|
| |\
| |
| |
| |
| | |
application: Make 'parse_configuration_and_cli' parameter required
See merge request pycqa/flake8!375
|
| | |
| |
| |
| |
| | |
The remaining CLI arguments is now always provided as an argument this
method.
|
| |\ \
| | |
| | |
| | |
| | | |
application: Rename prelim parsing method to 'parse_preliminary_options'
See merge request pycqa/flake8!374
|
| | |/
| |
| |
| |
| |
| | |
Positional arguments are not used nor parsed for pre-configuration
loading. Thus, renaming the method and updating the docstrings
appropriately.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit simplifies and updates the method for handling the creation
of the configuration file finder. The main takeaways are:
- Renaming the parameter (i.e., `extra_config_files`) to be a noun to
better describe the input versus what the option name was called.
- Refreshed the docstring to align with changes from previous commits
and this one.
- Remove the check to see if it a configuration file finder was already
created. This is not necessary as each entire run of a `flake8` calls
this method once. When the programmatic API is provided,
configuration would be provided 'in-code' and not rely upon external
files/resources.
- Use directly the program name from the `Application`, itself since
this is the authoritative source for defining it.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Now that the preliminary parser is being used, we can remove needing to
prune out `--version` and copying the original `argv` list.
|
| |
|
|
|
| |
Now that the preliminary parser is being used, we can remove needing to
prune out `-h` and `--help` from the copied `args` list.
|
| |
|
|
|
|
|
| |
Positional arguments aren't necessary for determining where to
load configuration anymore and is safe to keep both options and
arguments to be forwarded for later parsing after configuration is
loaded.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Now that preliminary options are registered with the preliminary parser
on the `Application`, leverage that for parsing known options.
This important change removes the `Application.option_manager` from
being responsible for pre-configuration parsing and the workarounds
needed in the `Application.parse_preliminary_options_and_args()` to
account for the fact that `Application.option_manager` was aware of
*all* options, not just the options necessary for pre-configuration
loading. A following commit will address removing these workarounds.
|
| |
|
|
|
|
|
|
|
|
| |
We introduce a new `ArgumentParser` for registering the preliminary
options to be inherited by the `Application.option_manager`. The next
step will be to use the `Application.prelim_arg_parser` for parsing and
handling preliminary options and arguments.
Note that we prevent the preliminary parser from handling `-h/--help`
and defer to that to the primary parser.
|
| |
|
|
|
| |
This is in preparation for having separate `ArgumentParser`s for
preliminary and the remaining options.
|
| |
|
|
|
|
| |
The `ConfigFileFinder` doesn't utilize the preliminary arguments (i.e.,
the file names) anymore for computing the starting path for the
configuration file search.
|
| |
|
|
|
|
|
|
| |
Now that `args` parameters is not being used, it is safe to remove from
the constructor signature.
Further work is required to evaluate and clean-up tearing out the
threading-through of `args` from various callers and tests.
|
| |
|
|
|
|
| |
The preliminary options and arguments returned from
`.parse_preliminary_options_and_args()` are now all threaded through to
the appropriate methods during initialization.
|
| |
|
|
|
|
| |
The configuration file and boolean to ignore configuration files can be
threaded through now that `.parse_preliminary_options_and_args()`
returns options and arguments.
|
| |
|
|
|
|
| |
Now that `.parse_preliminary_options_and_args()` returns options and
arguments, the boolean for appending configuration and the arguments can
be threaded through to the creation of the `ConfigFileFinder`.
|
| |
|
|
|
|
| |
The verbosity and output file options can be obtained from options
returned by `.parse_preliminary_options_and_args()`, instead of state
from the `Application` object.
|
| |
|
|
|
|
| |
This is the initial step towards removing state from the `Application`
object during argument parsing and handling. The goal is to remove
`Application.prelim_opts` and `Application.prelim_args`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`flake8.main.cli.main()` is the primary entry point for the command-line
implementation of flake8 (invoked via `__main__` or `console_scripts`).
Therefore, it is reasonable for the entry point to be responsible for
obtaining command line arguments from `sys.argv` there.
Note that `sys.argv[1:]` is necessary in order to strip off the script
name. Formerly, this was not needed in
`Application.parse_preliminary_options_and_args()`, which was using
`sys.argv[:]` because the result of the argument parsing was just for
determining additional configuration to be loaded. Then, the *real* CLI
argument parsing was forwarding the original `None` value to
`argparse.ArgumentParser.parse_args()`, which internally was obtaining
arguments as `sys.argv[1:]`.
Additionally, the contract for various argument parsing methods to be
guaranteed a `List[str]`.
|
| | |
|
| |
|
|
|
|
|
|
| |
Move the path normalization for extra configuration file paths down into
the main `config` module where other path normalization occurs.
This also guarantees that the call to `utils.normalize_paths()` is given
a sequence, instead of a potential `None` value.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
`Application.parse_preliminary_options_and_args` was previously, against
expectations, treating empty lists passed as the `argv` argument the
same way it treated `None`s.
This has been addressed and the correct behavior tested for in a unit
test of the `Application` class.
See issue #518 for details.
|
| | |
|