checkkconfigsymbols.py: add --no-color option, don't print color to non-TTY

Only print the ANSI colour escape codes if stdout is a TTY. Useful if
redirecting output to a file or piping to another script.

Also add a new option, --no-color, if the user wants to disable colour
output for whatever reason.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Valentin Rothberg <valentinrothberg@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Andrew Donnellan 2016-07-05 17:47:37 +10:00 committed by Greg Kroah-Hartman
parent 694d0d0bb2
commit 4c73c0882b

View File

@ -82,6 +82,11 @@ def parse_options():
default=False,
help="Reset current Git tree even when it's dirty.")
parser.add_option('', '--no-color', dest='color', action='store_false',
default=True,
help="Don't print colored output. Default when not "
"outputting to a terminal.")
(opts, _) = parser.parse_args()
if opts.commit and opts.diff:
@ -116,6 +121,9 @@ def main():
"""Main function of this module."""
opts = parse_options()
global color
color = opts.color and sys.stdout.isatty()
if opts.sim and not opts.commit and not opts.diff:
sims = find_sims(opts.sim, opts.ignore)
if sims:
@ -202,14 +210,14 @@ def yel(string):
"""
Color %string yellow.
"""
return "\033[33m%s\033[0m" % string
return "\033[33m%s\033[0m" % string if color else string
def red(string):
"""
Color %string red.
"""
return "\033[31m%s\033[0m" % string
return "\033[31m%s\033[0m" % string if color else string
def execute(cmd):