Implement quiet mode, silent on skipped hooks

This commit is contained in:
Peter Cock 2020-08-15 13:54:57 +01:00
parent f1de792877
commit 89d88f7ebc
2 changed files with 27 additions and 19 deletions

View file

@ -137,35 +137,38 @@ def _run_single_hook(
diff_before: bytes, diff_before: bytes,
verbose: bool, verbose: bool,
use_color: bool, use_color: bool,
quiet: bool,
) -> Tuple[bool, bytes]: ) -> Tuple[bool, bytes]:
filenames = classifier.filenames_for_hook(hook) filenames = classifier.filenames_for_hook(hook)
if hook.id in skips or hook.alias in skips: if hook.id in skips or hook.alias in skips:
output.write( if not quiet:
_full_msg( output.write(
start=hook.name, _full_msg(
end_msg=SKIPPED, start=hook.name,
end_color=color.YELLOW, end_msg=SKIPPED,
use_color=use_color, end_color=color.YELLOW,
cols=cols, use_color=use_color,
), cols=cols,
) ),
)
duration = None duration = None
retcode = 0 retcode = 0
diff_after = diff_before diff_after = diff_before
files_modified = False files_modified = False
out = b'' out = b''
elif not filenames and not hook.always_run: elif not filenames and not hook.always_run:
output.write( if not quiet:
_full_msg( output.write(
start=hook.name, _full_msg(
postfix=NO_FILES, start=hook.name,
end_msg=SKIPPED, postfix=NO_FILES,
end_color=color.TURQUOISE, end_msg=SKIPPED,
use_color=use_color, end_color=color.TURQUOISE,
cols=cols, use_color=use_color,
), cols=cols,
) ),
)
duration = None duration = None
retcode = 0 retcode = 0
diff_after = diff_before diff_after = diff_before
@ -272,6 +275,7 @@ def _run_hooks(
current_retval, prior_diff = _run_single_hook( current_retval, prior_diff = _run_single_hook(
classifier, hook, skips, cols, prior_diff, classifier, hook, skips, cols, prior_diff,
verbose=args.verbose, use_color=args.color, verbose=args.verbose, use_color=args.color,
quiet=False if args.verbose else args.quiet,
) )
retval |= current_retval retval |= current_retval
if retval and config['fail_fast']: if retval and config['fail_fast']:

View file

@ -81,6 +81,10 @@ def _add_hook_type_option(parser: argparse.ArgumentParser) -> None:
def _add_run_options(parser: argparse.ArgumentParser) -> None: def _add_run_options(parser: argparse.ArgumentParser) -> None:
parser.add_argument('hook', nargs='?', help='A single hook-id to run') parser.add_argument('hook', nargs='?', help='A single hook-id to run')
parser.add_argument('--verbose', '-v', action='store_true', default=False) parser.add_argument('--verbose', '-v', action='store_true', default=False)
parser.add_argument(
'--quiet', '-q', action='store_true', default=False,
help='Enable quiet mode (verbose mode overrides this).',
)
mutex_group = parser.add_mutually_exclusive_group(required=False) mutex_group = parser.add_mutually_exclusive_group(required=False)
mutex_group.add_argument( mutex_group.add_argument(
'--all-files', '-a', action='store_true', default=False, '--all-files', '-a', action='store_true', default=False,