diff options
author | Tom Rini <trini@konsulko.com> | 2025-05-27 07:43:04 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2025-05-27 07:43:04 -0600 |
commit | 6015a24a5a2647ab044333ed8e2462f90f855e36 (patch) | |
tree | 53fe80bee534a17f6c40e697cc112287a0b4b3c5 /tools/u_boot_pylib/tout.py | |
parent | 39b815d02d7ce6af32bcf023d20243c404b75a84 (diff) | |
parent | ec2482a24ac3a1d0beadae80bcb28c8d89b4c1ab (diff) |
Merge tag 'dm-next-27may25' of git://git.denx.de/u-boot-dm into next
Sync up Python tools from my tree
- minor binman tweaks
- terminal improvements in u_boot_pylib
- patman move to asyncio
- patman support for new 'series' subcommand
Diffstat (limited to 'tools/u_boot_pylib/tout.py')
-rw-r--r-- | tools/u_boot_pylib/tout.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/tools/u_boot_pylib/tout.py b/tools/u_boot_pylib/tout.py index 6bd2806f88f..ca72108d6bc 100644 --- a/tools/u_boot_pylib/tout.py +++ b/tools/u_boot_pylib/tout.py @@ -9,7 +9,7 @@ import sys from u_boot_pylib import terminal # Output verbosity levels that we support -ERROR, WARNING, NOTICE, INFO, DETAIL, DEBUG = range(6) +FATAL, ERROR, WARNING, NOTICE, INFO, DETAIL, DEBUG = range(7) in_progress = False @@ -42,12 +42,12 @@ def user_is_present(): Returns: True if it thinks the user is there, and False otherwise """ - return stdout_is_tty and verbose > 0 + return stdout_is_tty and verbose > ERROR def clear_progress(): """Clear any active progress message on the terminal.""" global in_progress - if verbose > 0 and stdout_is_tty and in_progress: + if verbose > ERROR and stdout_is_tty and in_progress: _stdout.write('\r%s\r' % (" " * len (_progress))) _stdout.flush() in_progress = False @@ -60,7 +60,7 @@ def progress(msg, warning=False, trailer='...'): warning: True if this is a warning.""" global in_progress clear_progress() - if verbose > 0: + if verbose > ERROR: _progress = msg + trailer if stdout_is_tty: col = _color.YELLOW if warning else _color.GREEN @@ -87,6 +87,8 @@ def _output(level, msg, color=None): print(msg, file=sys.stderr) else: print(msg) + if level == FATAL: + sys.exit(1) def do_output(level, msg): """Output a message to the terminal. @@ -98,6 +100,14 @@ def do_output(level, msg): """ _output(level, msg) +def fatal(msg): + """Display an error message and exit + + Args: + msg; Message to display. + """ + _output(FATAL, msg, _color.RED) + def error(msg): """Display an error message @@ -153,20 +163,21 @@ def user_output(msg): Args: msg; Message to display. """ - _output(0, msg) + _output(ERROR, msg) -def init(_verbose=WARNING, stdout=sys.stdout): +def init(_verbose=WARNING, stdout=sys.stdout, allow_colour=True): """Initialize a new output object. Args: - verbose: Verbosity level (0-4). + verbose: Verbosity level (0-6). stdout: File to use for stdout. """ global verbose, _progress, _color, _stdout, stdout_is_tty verbose = _verbose _progress = '' # Our last progress message - _color = terminal.Color() + _color = terminal.Color(terminal.COLOR_IF_TERMINAL if allow_colour + else terminal.COLOR_NEVER) _stdout = stdout # TODO(sjg): Move this into Chromite libraries when we have them |