Skip to content

Commit

Permalink
Integrate verbose logging with get_sources (#3749)
Browse files Browse the repository at this point in the history
Currently the verbose logging for "Sources to be formatted" is a little
suspect in that it is a completely different code path from
`get_sources`.

This can result in bugs like #3216 (comment)
and generally limits the value of these logs.

This does change the "when" of this log, but the colours help separate
it from the even more verbose logs.
  • Loading branch information
hauntsaninja committed Jun 25, 2023
1 parent 7be2735 commit 93989e9
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 21 deletions.
1 change: 1 addition & 0 deletions CHANGES.md
Expand Up @@ -52,6 +52,7 @@
<!-- Changes to Black's terminal output and error messages -->

- Use aware UTC datetimes internally, avoids deprecation warning on Python 3.12 (#3728)
- Change verbose logging to exactly mirror _Black_'s logic for source discovery (#3749)

### _Blackd_

Expand Down
34 changes: 13 additions & 21 deletions src/black/__init__.py
Expand Up @@ -484,26 +484,6 @@ def main( # noqa: C901
fg="blue",
)

normalized = [
(
(source, source)
if source == "-"
else (normalize_path_maybe_ignore(Path(source), root), source)
)
for source in src
]
srcs_string = ", ".join(
[
(
f'"{_norm}"'
if _norm
else f'\033[31m"{source} (skipping - invalid)"\033[34m'
)
for _norm, source in normalized
]
)
out(f"Sources to be formatted: {srcs_string}", fg="blue")

if config:
config_source = ctx.get_parameter_source("config")
user_level_config = str(find_user_pyproject_toml())
Expand Down Expand Up @@ -654,9 +634,15 @@ def get_sources(
is_stdin = False

if is_stdin or p.is_file():
normalized_path = normalize_path_maybe_ignore(p, ctx.obj["root"], report)
normalized_path: Optional[str] = normalize_path_maybe_ignore(
p, ctx.obj["root"], report
)
if normalized_path is None:
if verbose:
out(f'Skipping invalid source: "{normalized_path}"', fg="red")
continue
if verbose:
out(f'Found input source: "{normalized_path}"', fg="blue")

normalized_path = "/" + normalized_path
# Hard-exclude any files that matches the `--force-exclude` regex.
Expand All @@ -679,6 +665,9 @@ def get_sources(
sources.add(p)
elif p.is_dir():
p = root / normalize_path_maybe_ignore(p, ctx.obj["root"], report)
if verbose:
out(f'Found input source directory: "{p}"', fg="blue")

if using_default_exclude:
gitignore = {
root: root_gitignore,
Expand All @@ -699,9 +688,12 @@ def get_sources(
)
)
elif s == "-":
if verbose:
out("Found input source stdin", fg="blue")
sources.add(p)
else:
err(f"invalid path: {s}")

return sources


Expand Down

0 comments on commit 93989e9

Please sign in to comment.