Only use colour on a tty

This commit is contained in:
Juhani Krekelä 2018-09-01 23:50:37 +03:00
parent 12902df924
commit e51875a66b
1 changed files with 11 additions and 2 deletions

View File

@ -74,6 +74,9 @@ def main():
else:
infiles = args.infiles
# Only do colour if we are outputting to a tty
colour = os.isatty(sys.stdout.fileno())
# Check
any_verified = False
for path in infiles:
@ -94,11 +97,17 @@ def main():
# Use for display the same normalzed format as internally
# We do .decode() here, as it produces bytes
host_display = entry.normalize_host(match_host, match_port).decode()
print('[\x1b[32mok\x1b[0m] %s: %s: %s' % (name, host_display, match_comment))
if colour:
print('[\x1b[32mok\x1b[0m] %s: %s: %s' % (name, host_display, match_comment))
else:
print('[ok] %s: %s: %s' % (name, host_display, match_comment))
for fail_host, fail_port, fail_comment in fail:
host_display = entry.normalize_host(fail_host, fail_port).decode()
print('[\x1b[31mfail\x1b[0m] %s: %s: %s' % (name, host_display, fail_comment))
if colour:
print('[\x1b[31mfail\x1b[0m] %s: %s: %s' % (name, host_display, fail_comment))
else:
print('[fail] %s: %s: %s' % (name, host_display, fail_comment))
# Only display this if we didn't get a match in this file
# The value in the [same fingerprint] message is finding a host