<s> import sys <EOL> import re <EOL> class Logger ( object ) : <EOL> """<STR_LIT>""" <EOL> _is_tty = sys . stdout . isatty ( ) <EOL> _colors = { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT>' : <NUM_LIT:30> , '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , '<STR_LIT>' : <NUM_LIT> , '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , '<STR_LIT>' : <NUM_LIT:32> , '<STR_LIT>' : <NUM_LIT> } <EOL> def echo ( self , * args ) : <EOL> """<STR_LIT>""" <EOL> for arg in args : <EOL> msg = re . sub ( r'<STR_LIT>' , self . _colorize , arg ) <EOL> print ( '<STR_LIT>' . join ( [ msg , '<STR_LIT>' ] ) ) <EOL> def _colorize ( self , match ) : <EOL> if not self . _is_tty : <EOL> return '<STR_LIT>' <EOL> attr = [ '<STR_LIT:1>' if match . group ( <NUM_LIT:1> ) == '<STR_LIT>' else '<STR_LIT:0>' ] <EOL> attr . append ( str ( self . _colors [ match . group ( <NUM_LIT:2> ) ] ) ) <EOL> return '<STR_LIT>' . format ( '<STR_LIT:;>' . join ( attr ) ) </s>
