Better error message for invalid exclude types (#3764)

This commit is contained in:
Shantanu 2023-07-04 22:45:57 -07:00 committed by GitHub
parent 8e618f3869
commit cf4cc29819
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View File

@ -32,6 +32,8 @@
- `.pytest_cache`, `.ruff_cache` and `.vscode` are now excluded by default (#3691)
- Fix black not honouring `pyproject.toml` settings when running `--stdin-filename` and
the `pyproject.toml` found isn't in the current working directory (#3719)
- Black will now error if `exclude` and `extend-exclude` have invalid data types in
`pyproject.toml`, instead of silently doing the wrong thing (#3764)
### Packaging

View File

@ -157,6 +157,16 @@ def read_pyproject_toml(
"target-version", "Config key target-version must be a list"
)
exclude = config.get("exclude")
if exclude is not None and not isinstance(exclude, str):
raise click.BadOptionUsage("exclude", "Config key exclude must be a string")
extend_exclude = config.get("extend_exclude")
if extend_exclude is not None and not isinstance(extend_exclude, str):
raise click.BadOptionUsage(
"extend-exclude", "Config key extend-exclude must be a string"
)
default_map: Dict[str, Any] = {}
if ctx.default_map:
default_map.update(ctx.default_map)