HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
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,pcntl_unshare,
Upload Files
File: //lib/python3/dist-packages/compose/cli/colors.py
import enum
import os

from ..const import IS_WINDOWS_PLATFORM

NAMES = [
    'grey',
    'red',
    'green',
    'yellow',
    'blue',
    'magenta',
    'cyan',
    'white'
]


@enum.unique
class AnsiMode(enum.Enum):
    """Enumeration for when to output ANSI colors."""
    NEVER = "never"
    ALWAYS = "always"
    AUTO = "auto"

    def use_ansi_codes(self, stream):
        if self is AnsiMode.ALWAYS:
            return True
        if self is AnsiMode.NEVER or os.environ.get('CLICOLOR') == '0':
            return False
        return stream.isatty()


def get_pairs():
    for i, name in enumerate(NAMES):
        yield (name, str(30 + i))
        yield ('intense_' + name, str(30 + i) + ';1')


def ansi(code):
    return '\033[{}m'.format(code)


def ansi_color(code, s):
    return '{}{}{}'.format(ansi(code), s, ansi(0))


def make_color_fn(code):
    return lambda s: ansi_color(code, s)


if IS_WINDOWS_PLATFORM:
    import colorama
    colorama.init(strip=False)
for (name, code) in get_pairs():
    globals()[name] = make_color_fn(code)


def rainbow():
    cs = ['cyan', 'yellow', 'green', 'magenta', 'blue',
          'intense_cyan', 'intense_yellow', 'intense_green',
          'intense_magenta', 'intense_blue']

    for c in cs:
        yield globals()[c]