def failure()

in terranova/utils.py [0:0]


    def failure(cls, msgs: str | list[str], err: Exception | None = None) -> None:
        """Log a failure."""
        err_console = SharedContext.err_console()
        if SharedContext.is_debug_enabled() and err:
            err_console.print_exception()
            err_console.print(err)
        if not isinstance(msgs, list):
            msgs = [msgs]
        err_console.print(f"[red]x[/red] Failed to {str(msgs[0])}")
        for msg in msgs[1:]:
            err_console.print(f"  {str(msg)}")

        # Render explained error
        if err:
            if isinstance(err, ExplainedError):
                err_console.print(f"  Cause: {err.cause}")
                if err.resolution:
                    err_console.print(f"  Resolution: {err.resolution}")
            else:
                err_console.print(f"  Details: {err}")