From 02ccf4f715419548756889313092d01be8aa3d95 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Wed, 4 Apr 2012 18:45:07 +0000 Subject: [PATCH] Improved formatting of TypeErrors encountered in ctml_writer.py --- interfaces/python/ctml_writer.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/interfaces/python/ctml_writer.py b/interfaces/python/ctml_writer.py index ad19adb39..f5b18db8e 100644 --- a/interfaces/python/ctml_writer.py +++ b/interfaces/python/ctml_writer.py @@ -2368,6 +2368,25 @@ def convert(filename): print ' '* (err.offset+9) + '^' print sys.exit(3) + except TypeError as err: + import traceback + + text = open(filename).readlines() + tb = traceback.extract_tb(sys.exc_info()[2]) + lineno = tb[-1][1] + + print '%s on line %i of %s:' % (err.__class__.__name__, lineno, filename) + print err + print '\n| Line |' + + for i in range(max(lineno-6, 0), + min(lineno+3, len(text))): + if i == lineno-1: + print '> % 4i >' % (i+1), text[i].rstrip() + else: + print '| % 4i |' % (i+1), text[i].rstrip() + + sys.exit(4) write()