All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
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 https://github.com/psf/black/pull/3216#issuecomment-
1213557359
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.
<!-- Changes to Black's terminal output and error messages -->
- Use aware UTC datetimes internally, avoids deprecation warning on Python 3.12 (#3728)
<!-- 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)
- 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())
if config:
config_source = ctx.get_parameter_source("config")
user_level_config = str(find_user_pyproject_toml())
is_stdin = False
if is_stdin or p.is_file():
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 normalized_path is None:
+ if verbose:
+ out(f'Skipping invalid source: "{normalized_path}"', fg="red")
+ 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.
normalized_path = "/" + normalized_path
# Hard-exclude any files that matches the `--force-exclude` regex.
sources.add(p)
elif p.is_dir():
p = root / normalize_path_maybe_ignore(p, ctx.obj["root"], report)
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,
if using_default_exclude:
gitignore = {
root: root_gitignore,
+ if verbose:
+ out("Found input source stdin", fg="blue")
sources.add(p)
else:
err(f"invalid path: {s}")
sources.add(p)
else:
err(f"invalid path: {s}")