Restrict colored_output value to always/never/auto.

This commit is contained in:
Dennis Camera 2020-06-06 13:39:29 +02:00
parent 7a570f8692
commit 23e66e08fa
5 changed files with 17 additions and 17 deletions

View file

@ -128,10 +128,9 @@ def get_parsers():
parser['colored_output'] = argparse.ArgumentParser(add_help=False)
parser['colored_output'].add_argument(
'--colors',
help='Use a colored output for different log levels.'
'It can be a boolean or "auto" (default) which enables this '
'feature if stdout is a tty and disables it otherwise.',
'--colors', metavar='WHEN',
help="Colorize cdist's output based on log level; "
"WHEN is 'always', 'never', or 'auto'.",
action='store', dest='colored_output', required=False,
choices=cdist.configuration.ColoredOutputOption.CHOICES)

View file

@ -248,7 +248,7 @@ class LogLevelOption(OptionBase):
class ColoredOutputOption(BooleanOption):
CHOICES = tuple(configparser.ConfigParser.BOOLEAN_STATES) + ('auto',)
CHOICES = ('always', 'never', 'auto')
DEFAULT = 'auto'
def get_converter(self):
@ -258,8 +258,10 @@ class ColoredOutputOption(BooleanOption):
def translate(val):
if isinstance(val, bool):
return val
elif val in configparser.ConfigParser.BOOLEAN_STATES:
return configparser.ConfigParser.BOOLEAN_STATES[val]
elif val == 'always':
return True
elif val == 'never':
return False
elif val == 'auto':
return 'NO_COLOR' not in os.environ and sys.stdout.isatty()

View file

@ -16,10 +16,9 @@
# colored_output
# Colorize cdist's output. If enabled, cdist will use different colors for
# different log levels.
# Recognized values are 'yes'/'no', 'on'/'off', 'true'/'false', '1'/'0',
# and 'auto'
# If the value is 'auto', colored output is enabled if stdout is a TTY
# unless the NO_COLOR (https://no-color.org/) environment variable is defined.
# Recognized values are 'always', 'never', and 'auto'.
# If the value is 'auto', colors are enabled if stdout is a TTY unless
# the NO_COLOR (https://no-color.org/) environment variable is defined.
# colored_output = auto
#
# conf_dir

View file

@ -369,9 +369,9 @@ CDIST_BETA
Enable beta functionalities.
CDIST_COLORED_OUTPUT
Use a colored output for different log levels.
It can be a boolean or 'auto' (default) which enables this feature if
stdout is a tty and disables it otherwise.
Colorize cdist's output. If enabled, cdist will use different colors for
different log levels.
Recognized values are 'always', 'never', and 'auto' (the default).
CDIST_CACHE_PATH_PATTERN
Custom cache path pattern.

View file

@ -111,11 +111,11 @@ All commands accept the following options:
**-h, --help**
Show the help screen.
**--colors COLORED_OUTPUT**
**--colors WHEN**
Colorize cdist's output. If enabled, cdist will use different colors for
different log levels.
COLORED_OUTPUT recognizes the boolean values 'yes'/'no', 'on'/'off',
'true'/'false', '1'/'0', and 'auto' (the default).
COLORED_OUTPUT recognizes the values 'always', 'never',
and 'auto' (the default).
If the value is 'auto', colored output is enabled if stdout is a TTY
unless the NO_COLOR (https://no-color.org/) environment variable is defined.