summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Fixes --exit-zero when empty --diffKinya TERASAKA2019-12-021-1/+3
| | | | | | | | | | | | fixes pycqa/flake8/merge_requests!137
* | | Work around RecursionError in EntryPoint.__repr__ in pypyAnthony Sottile2019-11-291-1/+1
| | | | | | | | | | | | https://gitlab.com/python-devs/importlib_metadata/issues/97
* | | Switch from entrypoints to importlib_metadataAnthony Sottile2019-11-286-29/+33
|/ /
* | Merge branch 'app-cleanup-docstrings' into 'master'Anthony Sottile2019-11-271-5/+2
|\ \ | | | | | | | | | | | | application: Update find_plugins() docstring See merge request pycqa/flake8!387
| * | application: Update find_plugins() docstringEric N. Vander Weele2019-11-271-5/+2
| | | | | | | | | | | | | | | | | | When the checks for the cached objects were removed in 2d5eae637a0738d4bad62bed36b57fef07682df6, the `.find_plugins()` docstring need to be updated to specify the updated behavior.
* | | application: Remove local plugins stateEric N. Vander Weele2019-11-271-6/+4
|/ / | | | | | | | | | | The `.local_plugins` attribute can be removed from the `Application` since the usage of the `LocalPlugins` object is isolated to the `.find_plugins()` method.
* | application: Remove configuration finder stateEric N. Vander Weele2019-11-222-14/+20
| | | | | | | | | | | | | | 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.
* | Merge branch 'app-make-config-side-effect-free' into 'master'Anthony Sottile2019-11-062-7/+16
|\ \ | | | | | | | | | | | | application: Change `make_config_finder` to be a pure static method See merge request pycqa/flake8!378
| * | application: Change `make_config_finder` to be a pure static methodEric N. Vander Weele2019-11-062-7/+16
| |/ | | | | | | | | This change makes `Application.make_config_finder` to be side-effect free where it its return value is only determined by its input values.
* | application: Remove checks for properties being set previouslyEric N. Vander Weele2019-11-051-35/+28
|/ | | | | | 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.
* aggregator: Simplify 'aggregate_options' function definitionEric N. Vander Weele2019-11-031-10/+14
| | | | | | The `values` parameter is safe to remove since it is not provided as an argument by any callers and the remaining arguments are guaranteed to always be provided by all callers.
* Merge branch 'application-argv-required-for-parsing' into 'master'Anthony Sottile2019-11-031-2/+2
|\ | | | | | | | | application: Make 'parse_configuration_and_cli' parameter required See merge request pycqa/flake8!375
| * application: Make 'parse_configuration_and_cli' parameter requiredEric N. Vander Weele2019-11-031-2/+2
| | | | | | | | | | The remaining CLI arguments is now always provided as an argument this method.
* | Merge branch 'application-parse-prelim-opts' into 'master'Anthony Sottile2019-11-032-11/+6
|\ \ | | | | | | | | | | | | application: Rename prelim parsing method to 'parse_preliminary_options' See merge request pycqa/flake8!374
| * | application: Rename prelim parsing method to 'parse_preliminary_options'Eric N. Vander Weele2019-11-032-11/+6
| |/ | | | | | | | | | | Positional arguments are not used nor parsed for pre-configuration loading. Thus, renaming the method and updating the docstrings appropriately.
* | application: Simplify creation of configuration file finderEric N. Vander Weele2019-11-031-8/+8
|/ | | | | | | | | | | | | | | | | 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.
* Reformat with black >= 19.10b0Eric N. Vander Weele2019-11-011-3/+4
| | | | | This resets the `black` formatting baseline so it doesn't get picked up in future commits.
* Merge branch 'separate-prelim-options' into 'master'Anthony Sottile2019-10-314-78/+81
|\ | | | | | | | | Separate pre-configuration CLI parsing See merge request pycqa/flake8!364
| * application: Forward remaining unknown arguments to final CLI parsingEric N. Vander Weele2019-10-252-4/+4
| | | | | | | | | | | | | | | | 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.
| * application: Ensure `--version` is unknown during preliminary parsingEric N. Vander Weele2019-10-251-15/+1
| | | | | | | | | | Now that the preliminary parser is being used, we can remove needing to prune out `--version` and copying the original `argv` list.
| * application: Ensure `-h/--help` is unknown during preliminary parsingEric N. Vander Weele2019-10-251-8/+0
| | | | | | | | | | Now that the preliminary parser is being used, we can remove needing to prune out `-h` and `--help` from the copied `args` list.
| * application: Keep unknown options in the unknown argument listEric N. Vander Weele2019-10-251-4/+1
| | | | | | | | | | | | | | 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.
| * application: Change to `argparse.ArgumentParser` for preliminary parsingEric N. Vander Weele2019-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * application: Register preliminary options on a separate argument parserEric N. Vander Weele2019-10-252-9/+16
| | | | | | | | | | | | | | | | | | | | 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.
| * optmanager: Inherit options from parent argument parsersEric N. Vander Weele2019-10-251-3/+13
| | | | | | | | | | | | Allow for including options from parent `argparse.ArgumentParser` objects in preparation of splitting out the handling of preliminary options from the `OptionManager`.
| * options: Split-out registration of preliminary optionsEric N. Vander Weele2019-10-252-44/+55
| | | | | | | | | | This is in preparation for having separate `ArgumentParser`s for preliminary and the remaining options.
* | Merge branch '3.7-maintenance' into 'master'Anthony Sottile2019-10-281-1/+1
|\ \ | | | | | | | | | | | | Merge 3.7.9 tag and release notes See merge request pycqa/flake8!369
| * | Release 3.7.93.7.93.7-maintenanceAnthony Sottile2019-10-281-1/+1
| | |
| * | Only use multiprocessing when the method is forkAnthony Sottile2019-10-282-38/+14
| | | | | | | | | | | | | | | In python3.8 on macos and in all versions on windows the multiprocessing method is `spawn` which does not preserve class state.
* | | Merge branch 'specific_noqa_pycodestyle' into 'master'Anthony Sottile2019-10-281-5/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Do not pass `noqa` to plugins, have flake8 decide whether to report Closes #552 See merge request pycqa/flake8!331
| * | | Do not pass `noqa` to plugins, have flake8 decide whether to reportAnthony Sottile2019-08-291-5/+3
| | | |
* | | | Only use multiprocessing when the method is forkAnthony Sottile2019-10-282-38/+14
| | | | | | | | | | | | | | | | | | | | In python3.8 on macos and in all versions on windows the multiprocessing method is `spawn` which does not preserve class state.
* | | | linters: Add flake8-bugbear for finding bugs and design problemsEric N. Vander Weele2019-10-251-2/+5
| |_|/ |/| | | | | | | | | | | Also, make appropriate changes to satisfy issues flagged by `flake8-bugbear`.
* | | application: Remove forwarding unused preliminary argumentsEric N. Vander Weele2019-10-132-6/+4
| | | | | | | | | | | | | | | | | | The `ConfigFileFinder` doesn't utilize the preliminary arguments (i.e., the file names) anymore for computing the starting path for the configuration file search.
* | | config: Remove `args` parameter from `ConfigFileFinder.__init__`Eric N. Vander Weele2019-10-132-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | config: Search for configuration relative to current working directoryEric N. Vander Weele2019-10-131-3/+1
| | | | | | | | | | | | | | | | | | This is the initial incision to only search for configuration relative to the current working directory where `flake8` is invoked. This brings configuration file detection closer to other CLI-like programs.
* | | Reformat files via `black`Eric N. Vander Weele2019-10-131-3/+1
| | | | | | | | | | | | This was missed in bb12b83.
* | | Merge branch 'remove-output-file-config' into 'master'Anthony Sottile2019-10-131-1/+0
|\ \ \ | | | | | | | | | | | | | | | | options: Remove parsing `--output-file` from the configuration file See merge request pycqa/flake8!361
| * | | options: Remove parsing `--output-file` from the configuration fileEric N. Vander Weele2019-10-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `--output-file` option is used when parsing and handling preliminary options for logging. It is also used to set `BaseFormatter.filename`. Towards ensuring that the option is respected consistently for both logging and formatting plugins, only observe the value from the CLI.
* | | | options: Remove parsing `--verbose` from the configuration fileEric N. Vander Weele2019-10-121-1/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `--verbose` option is only used by `flake8`, itself,` when parsing and handling preliminary options. After parsing and merging options from the configuration file, there is no other behavioral impact to the core of `flake8`. In other words, setting `verbose = ...` in a configuration file doesn't change the logging verbosity. While the `FileProcessor` does expose a `verbose` attribute, obtained from the parsed options, the verbosity of the core of `flake8` should be consistent with how a plugin may respond to the attribute's value.
* | | application: Remove preliminary argument parsing stateEric N. Vander Weele2019-10-011-8/+0
| | | | | | | | | | | | | | | | | | The preliminary options and arguments returned from `.parse_preliminary_options_and_args()` are now all threaded through to the appropriate methods during initialization.
* | | application: Pass prelim opts to `.find_plugins()`Eric N. Vander Weele2019-10-012-7/+12
| | | | | | | | | | | | | | | | | | The configuration file and boolean to ignore configuration files can be threaded through now that `.parse_preliminary_options_and_args()` returns options and arguments.
* | | application: Pass prelim opts and args to `.make_config_finder()`Eric N. Vander Weele2019-10-012-8/+13
| | | | | | | | | | | | | | | | | | 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`.
* | | application: Pass returned prelim options to `.configure_logging()`Eric N. Vander Weele2019-10-012-6/+6
| | | | | | | | | | | | | | | | | | 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.
* | | application: Return namespace and args from preliminary arg parsingEric N. Vander Weele2019-10-011-2/+7
| | | | | | | | | | | | | | | | | | 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`.
* | | Don't reset indent_char when we encounter E101Anthony Sottile2019-09-242-10/+1
| | |
* | | Merge branch 'type_more' into 'master'Anthony Sottile2019-09-082-44/+76
|\ \ \ | | | | | | | | | | | | | | | | Add more type annotations See merge request pycqa/flake8!353
| * | | Add type annotations for flake8.processorAnthony Sottile2019-09-071-30/+42
| | | |
| * | | Add type annotations to flake8.styleguideAnthony Sottile2019-09-071-14/+34
| | | |
* | | | Simplify bandit config and allow `assert`Anthony Sottile2019-09-071-3/+3
|/ / /