diff options
-rw-r--r-- | Lib/cgitb.py | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/Lib/cgitb.py b/Lib/cgitb.py index f75a84ce94..d2870016a6 100644 --- a/Lib/cgitb.py +++ b/Lib/cgitb.py @@ -37,9 +37,23 @@ Content-Type: text/html </table> </table> </table> </table> </table> </font> </font> </font>''' __UNDEF__ = [] # a special sentinel object -def small(text): return '<small>' + text + '</small>' -def strong(text): return '<strong>' + text + '</strong>' -def grey(text): return '<font color="#909090">' + text + '</font>' +def small(text): + if text: + return '<small>' + text + '</small>' + else: + return '' + +def strong(text): + if text: + return '<strong>' + text + '</strong>' + else: + return '' + +def grey(text): + if text: + return '<font color="#909090">' + text + '</font>' + else: + return '' def lookup(name, frame, locals): """Find the value for a given name in the given environment.""" @@ -88,10 +102,11 @@ def html((etype, evalue, etb), context=5): pyver = 'Python ' + sys.version.split()[0] + ': ' + sys.executable date = time.ctime(time.time()) head = '<body bgcolor="#f0f0f8">' + pydoc.html.heading( - '<big><big><strong>%s</strong></big></big>' % str(etype), + '<big><big>%s</big></big>' % + strong(pydoc.html.escape(str(etype))), '#ffffff', '#6622aa', pyver + '<br>' + date) + ''' <p>A problem occurred in a Python script. Here is the sequence of -function calls leading up to the error, in the order they occurred.''' +function calls leading up to the error, in the order they occurred.</p>''' indent = '<tt>' + small(' ' * 5) + ' </tt>' frames = [] @@ -142,7 +157,7 @@ function calls leading up to the error, in the order they occurred.''' dump.append(name + ' <em>undefined</em>') rows.append('<tr><td>%s</td></tr>' % small(grey(', '.join(dump)))) - frames.append('''<p> + frames.append(''' <table width="100%%" cellspacing=0 cellpadding=0 border=0> %s</table>''' % '\n'.join(rows)) |