When instantiating a temporary file using tempfile's TemporaryFile()
constructor, the resulting object's 'name' attribute is of type int.
This in turn makes print_msg() puke while trying to concatenate string
and int using '+' operator.
Fix this by using format strings consequently, thereby cleaning up code
a bit.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
'''
Prints a message with nice colors, indicating file and line number.
'''
+ color_errstr = "%s%s%s" % (color, errstr, Colors.ENDC)
if filename and lineno:
- sys.stderr.write(filename + ": " + color + errstr + Colors.ENDC + \
- " line %d: %s" % (lineno + 1, reason))
+ sys.stderr.write("%s: %s line %d: %s\n" %
+ (filename, color_errstr, lineno + 1, reason))
else:
- sys.stderr.write(color + errstr + Colors.ENDC + " %s" % reason)
- sys.stderr.write("\n")
+ sys.stderr.write("%s %s\n" % (color_errstr, reason))
sys.stderr.flush() # So that the message stay in the right place.