HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //snap/google-cloud-cli/396/lib/googlecloudsdk/command_lib/run/pretty_print.py
# -*- coding: utf-8 -*- #
# Copyright 2018 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Pretty-print utilities.

Usage:

pretty_print.Success('Woo')
pretty_print.Info('doing {thing}', thing='something')  # works like .format()

✓ Woo  (the checkbox will be green)
  doing something

Bold and italic standard formatters are available (in conjunction with
reset), e.g:

pretty_print.Success('Let me {bold}stress{reset} the {italic}importance{reset}')

"""

from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals

from googlecloudsdk.core import log
from googlecloudsdk.core.console import console_attr

READY_COLUMN_COLOR = (
    'color(red="[xX]",'
    'green="[\N{CHECK MARK}\N{HEAVY CHECK MARK}]",'
    'yellow="[-!\N{HORIZONTAL ELLIPSIS}]"):label=""'
)

READY_COLUMN = f'ready_symbol.{READY_COLUMN_COLOR}'


def _Print(prefix, color, msg, **formatters):
  """Helper function to avoid import-time races."""
  con = console_attr.GetConsoleAttr()
  con.Colorize(prefix, color)
  formatters = formatters.copy()
  formatters.update({
      'bold': con.GetFontCode(bold=True),
      'italic': con.GetFontCode(italic=True),
      'reset': con.GetFontCode(),
  })
  log.status.Print(msg.format(**formatters))


def Success(msg, **formatters):
  """Print a nice little green checkbox, and a message.

  Args:
    msg: str, message accepting standard formatters.
    **formatters: extra args acting like .format()
  """
  _Print('✓ ', 'green', msg, **formatters)


def Info(msg, **formatters):
  """Simple print, with added left margin for alignment.

  Args:
    msg: str, message accepting standard formatters.
    **formatters: extra args acting like .format()
  """
  _Print('  ', None, msg, **formatters)