Hi, On Thu, Sep 02, 2021 at 01:33:07PM +0200, Štěpán Němec wrote: > When the output doesn't go to a terminal (typical case: log files), > the escape sequences are just noise. > > Signed-off-by: Štěpán Němec <snemec@xxxxxxxxxx> Acked-by: Phil Sutter <phil@xxxxxx> With one minor nit: > diff --git a/iptables-test.py b/iptables-test.py > index 90e07feed365..e8fc0c75a43e 100755 > --- a/iptables-test.py > +++ b/iptables-test.py > @@ -32,22 +32,25 @@ EXTENSIONS_PATH = "extensions" > LOGFILE="/tmp/iptables-test.log" > log_file = None > > +STDOUT_IS_TTY = sys.stdout.isatty() > > -class Colors: > - HEADER = '\033[95m' > - BLUE = '\033[94m' > - GREEN = '\033[92m' > - YELLOW = '\033[93m' > - RED = '\033[91m' > - ENDC = '\033[0m' > +def maybe_colored(color, text): > + terminal_sequences = { > + 'green': '\033[92m', > + 'red': '\033[91m', > + } > + > + return ( > + terminal_sequences[color] + text + '\033[0m' if STDOUT_IS_TTY else text > + ) I would "simplify" this into: | if not sys.stdout.isatty(): | return text | return terminal_sequences[color] + text + '\033[0m' But what's beautiful in C might be ugly in Python and I'm blind to that aspect. ;) Cheers, Phil