mobile-offloading/energy_model/modules/TerminalColors.py

45 lines
1.3 KiB
Python

'''
Created by Yanzi @ 06/16/2016
Last updated by Yanzi @ 08/18/2016
color module: terminal text add colors
'''
class TerminalColors:
'''
Currently support purple, cyan, darkcyan, blue, green, yellow, red
'''
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
END = '\033[0m'
PURPLE = '\033[95m'
CYAN = '\033[96m'
DARKCYAN = '\033[36m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
def colorString(myString, bold=True, underline=False, color='red'):
'''
Set color of the string, including bold and underline
@ param myString: the string
@ param bold: flag to set if we want to bold the text
@ param underline: flag to set if we want to draw underline
@ param color: specify a color name, e.g. 'red' or 'green'
(may not show depending on terminal setups)
@ return new string wrapped with terminal color indicators
'''
tmp = myString
if bold:
tmp = '{1}{0}{2}'.format(
tmp, TerminalColors.BOLD, TerminalColors.END)
if underline:
tmp = '{1}{0}{2}'.format(
tmp, TerminalColors.UNDERLINE, TerminalColors.END)
if hasattr(TerminalColors, color.upper()):
tmp = '{1}{0}{2}'.format(
tmp, getattr(TerminalColors, color.upper()), TerminalColors.END)
return tmp