Skip to content

Commit

Permalink
app: Add -q argument for quiet mode
Browse files Browse the repository at this point in the history
Add a west argument to decrease the verbosity.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
  • Loading branch information
pdgendt committed Aug 27, 2024
1 parent 45762a0 commit db714cd
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 3 deletions.
26 changes: 23 additions & 3 deletions src/west/app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,9 @@ def consume_more_args(rest):
elif rest.startswith('v'):
verbosity += 1
consume_more_args(rest[1:])
elif rest.startswith('q'):
verbosity -= 1
consume_more_args(rest[1:])
elif rest.startswith('z'):
if not rest[1:]:
expecting_zephyr_base = True
Expand All @@ -121,8 +124,13 @@ def consume_more_args(rest):
elif arg.startswith('-v'):
verbosity += 1
consume_more_args(arg[2:])
elif arg.startswith('-q'):
verbosity -= 1
consume_more_args(arg[2:])
elif arg == '--verbose':
verbosity += 1
elif arg == '--quiet':
verbosity -= 1
elif arg.startswith('-z'):
if arg == '-z':
expecting_zephyr_base = True
Expand Down Expand Up @@ -465,6 +473,10 @@ def make_parsers(self):
help='''Display verbose output. May be given
multiple times to increase verbosity.''')

parser.add_argument('-q', '--quiet', default=0, action='count',
help='''Display less verbose output. May be given
multiple times to decrease verbosity.''')

parser.add_argument('-V', '--version', action='version',
version=f'West version: v{__version__}',
help='print the program version and exit')
Expand Down Expand Up @@ -594,8 +606,14 @@ def setup_west_logging(self, verbosity):
logger.setLevel(logging.DEBUG)
elif verbosity == 1:
logger.setLevel(logging.INFO)
else:
elif verbosity == 0:
logger.setLevel(logging.WARNING)
elif verbosity == -1:
logger.setLevel(logging.ERROR)
elif verbosity == -2:
logger.setLevel(logging.CRITICAL)
else:
logger.disabled = True

logger.addHandler(LogHandler())

Expand Down Expand Up @@ -1070,8 +1088,10 @@ def mie_msg(mie):
return ret

def adjust_command_verbosity(command, args):
command.verbosity = min(command.verbosity + args.verbose,
Verbosity.DBG_EXTREME)
command.verbosity = max(
min(command.verbosity + args.verbose - args.quiet, Verbosity.DBG_EXTREME),
Verbosity.QUIET
)

def dump_traceback():
# Save the current exception to a file and return its path.
Expand Down
9 changes: 9 additions & 0 deletions src/west/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,9 @@ def inf(self, *args, colorize: bool = False, end: str = '\n'):
is undefined or true, and stdout is a terminal, then
the message is printed in green.
'''
if Verbosity.INF > self.verbosity:
return

if not self.color_ui:
colorize = False

Expand Down Expand Up @@ -460,6 +463,9 @@ def wrn(self, *args, end: str = '\n'):
:param args: sequence of arguments to print.'''

if Verbosity.WRN > self.verbosity:
return

if self.color_ui:
print(WRN_COLOR, end='', file=sys.stderr)

Expand All @@ -484,6 +490,9 @@ def err(self, *args, fatal: bool = False, end: str = '\n'):
"FATAL ERROR: "; otherwise, "ERROR: " is used.
'''

if Verbosity.ERR > self.verbosity:
return

if self.color_ui:
print(ERR_COLOR, end='', file=sys.stderr)

Expand Down

0 comments on commit db714cd

Please sign in to comment.