artemis/termcolor.py
author Dmitriy Morozov <dmitriy@mrzv.org>
Fri, 15 Apr 2011 23:10:12 -0700
changeset 62 c933fa2cd204
parent 60 termcolor.py@f44b6f1f2115
permissions -rw-r--r--
Moved everything into artemis/ subdirectory to be able to import termcolor.py
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
60
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     1
# coding: utf-8
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     2
# Copyright (c) 2008-2011 Volvox Development Team
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     3
#
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     4
# Permission is hereby granted, free of charge, to any person obtaining a copy
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     5
# of this software and associated documentation files (the "Software"), to deal
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     6
# in the Software without restriction, including without limitation the rights
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     7
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     8
# copies of the Software, and to permit persons to whom the Software is
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
     9
# furnished to do so, subject to the following conditions:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    10
#
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    11
# The above copyright notice and this permission notice shall be included in
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    12
# all copies or substantial portions of the Software.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    13
#
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    14
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    15
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    16
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    17
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    18
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    19
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    20
# THE SOFTWARE.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    21
#
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    22
# Author: Konstantin Lepa <konstantin.lepa@gmail.com>
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    23
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    24
"""ANSII Color formatting for output in terminal."""
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    25
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    26
from __future__ import print_function
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    27
import os
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    28
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    29
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    30
__ALL__ = [ 'colored', 'cprint' ]
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    31
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    32
VERSION = (1, 1, 0)
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    33
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    34
ATTRIBUTES = dict(
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    35
        list(zip([
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    36
            'bold',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    37
            'dark',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    38
            '',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    39
            'underline',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    40
            'blink',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    41
            '',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    42
            'reverse',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    43
            'concealed'
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    44
            ],
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    45
            list(range(1, 9))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    46
            ))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    47
        )
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    48
del ATTRIBUTES['']
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    49
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    50
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    51
HIGHLIGHTS = dict(
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    52
        list(zip([
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    53
            'on_grey',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    54
            'on_red',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    55
            'on_green',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    56
            'on_yellow',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    57
            'on_blue',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    58
            'on_magenta',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    59
            'on_cyan',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    60
            'on_white'
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    61
            ],
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    62
            list(range(40, 48))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    63
            ))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    64
        )
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    65
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    66
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    67
COLORS = dict(
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    68
        list(zip([
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    69
            'grey',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    70
            'red',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    71
            'green',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    72
            'yellow',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    73
            'blue',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    74
            'magenta',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    75
            'cyan',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    76
            'white',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    77
            ],
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    78
            list(range(30, 38))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    79
            ))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    80
        )
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    81
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    82
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    83
RESET = '\033[0m'
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    84
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    85
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    86
def colored(text, color=None, on_color=None, attrs=None):
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    87
    """Colorize text.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    88
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    89
    Available text colors:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    90
        red, green, yellow, blue, magenta, cyan, white.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    91
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    92
    Available text highlights:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    93
        on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    94
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    95
    Available attributes:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    96
        bold, dark, underline, blink, reverse, concealed.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    97
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    98
    Example:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
    99
        colored('Hello, World!', 'red', 'on_grey', ['blue', 'blink'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   100
        colored('Hello, World!', 'green')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   101
    """
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   102
    if os.getenv('ANSI_COLORS_DISABLED') is None:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   103
        fmt_str = '\033[%dm%s'
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   104
        if color is not None:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   105
            text = fmt_str % (COLORS[color], text)
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   106
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   107
        if on_color is not None:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   108
            text = fmt_str % (HIGHLIGHTS[on_color], text)
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   109
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   110
        if attrs is not None:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   111
            for attr in attrs:
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   112
                text = fmt_str % (ATTRIBUTES[attr], text)
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   113
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   114
        text += RESET
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   115
    return text
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   116
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   117
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   118
def cprint(text, color=None, on_color=None, attrs=None, **kwargs):
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   119
    """Print colorize text.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   120
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   121
    It accepts arguments of print function.
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   122
    """
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   123
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   124
    print((colored(text, color, on_color, attrs)), **kwargs)
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   125
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   126
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   127
if __name__ == '__main__':
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   128
    print('Current terminal type: %s' % os.getenv('TERM'))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   129
    print('Test basic colors:')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   130
    cprint('Grey color', 'grey')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   131
    cprint('Red color', 'red')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   132
    cprint('Green color', 'green')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   133
    cprint('Yellow color', 'yellow')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   134
    cprint('Blue color', 'blue')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   135
    cprint('Magenta color', 'magenta')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   136
    cprint('Cyan color', 'cyan')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   137
    cprint('White color', 'white')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   138
    print(('-' * 78))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   139
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   140
    print('Test highlights:')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   141
    cprint('On grey color', on_color='on_grey')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   142
    cprint('On red color', on_color='on_red')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   143
    cprint('On green color', on_color='on_green')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   144
    cprint('On yellow color', on_color='on_yellow')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   145
    cprint('On blue color', on_color='on_blue')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   146
    cprint('On magenta color', on_color='on_magenta')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   147
    cprint('On cyan color', on_color='on_cyan')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   148
    cprint('On white color', color='grey', on_color='on_white')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   149
    print('-' * 78)
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   150
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   151
    print('Test attributes:')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   152
    cprint('Bold grey color', 'grey', attrs=['bold'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   153
    cprint('Dark red color', 'red', attrs=['dark'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   154
    cprint('Underline green color', 'green', attrs=['underline'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   155
    cprint('Blink yellow color', 'yellow', attrs=['blink'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   156
    cprint('Reversed blue color', 'blue', attrs=['reverse'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   157
    cprint('Concealed Magenta color', 'magenta', attrs=['concealed'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   158
    cprint('Bold underline reverse cyan color', 'cyan',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   159
            attrs=['bold', 'underline', 'reverse'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   160
    cprint('Dark blink concealed white color', 'white',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   161
            attrs=['dark', 'blink', 'concealed'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   162
    print(('-' * 78))
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   163
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   164
    print('Test mixing:')
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   165
    cprint('Underline red on grey color', 'red', 'on_grey',
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   166
            ['underline'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   167
    cprint('Reversed green on red color', 'green', 'on_red', ['reverse'])
f44b6f1f2115 Added termcolor.py and started working on #edb (colorize output)
Dmitriy Morozov <dmitriy@mrzv.org>
parents:
diff changeset
   168