Added print functions

* Uses new method for printing in color (no global var usage)
This commit is contained in:
2Shirt 2019-07-13 19:01:57 -06:00
parent bdf53b435a
commit 6928485965
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -1,6 +1,7 @@
'''WizardKit: Standard Functions'''
# vim: sts=2 sw=2 ts=2
import itertools
import logging
import os
import re
@ -69,5 +70,54 @@ def pause(prompt='Press Enter to continue... '):
input_text(prompt)
def print_colored(strings, colors, **kwargs):
"""Prints strings in the colors specified and adds to log."""
msg = ''
print_options = {
'end': kwargs.get('end', '\n'),
'file': kwargs.get('file', sys.stdout),
'flush': kwargs.get('flush', False),
}
# Build new string with color escapes added
for string, color in itertools.zip_longest(strings, colors):
msg += '{}{}{}'.format(
COLORS.get(color, COLORS['CLEAR']),
string,
COLORS['CLEAR'],
)
print(msg, **print_options)
LOG.log(
level=logging.getLevelName(kwargs.get('level', 'INFO')),
msg=''.join(strings),
)
def print_error(msg, **kwargs):
"""Prints message in RED and adds to log."""
print_colored([mgs], ['RED'], level='ERROR', **kwargs)
def print_info(msg, **kwargs):
"""Prints message in BLUE and adds to log."""
print_colored([mgs], ['BLUE'], **kwargs)
def print_standard(msg, **kwargs):
"""Prints message and adds to log."""
print_colored([mgs], [None], **kwargs)
def print_success(msg, **kwargs):
"""Prints message in GREEN and adds to log."""
print_colored([mgs], ['GREEN'], **kwargs)
def print_warning(msg, **kwargs):
"""Prints message in YELLOW and adds to log."""
print_colored([mgs], ['YELLOW'], level='WARNING', **kwargs)
if __name__ == '__main__':
print("This file is not meant to be called directly.")