| :mod:`cgitb` --- Traceback manager for CGI scripts | 
 | ================================================== | 
 |  | 
 | .. module:: cgitb | 
 |    :synopsis: Configurable traceback handler for CGI scripts. | 
 | .. moduleauthor:: Ka-Ping Yee <ping@lfw.org> | 
 | .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org> | 
 |  | 
 |  | 
 | .. index:: | 
 |    single: CGI; exceptions | 
 |    single: CGI; tracebacks | 
 |    single: exceptions; in CGI scripts | 
 |    single: tracebacks; in CGI scripts | 
 |  | 
 | The :mod:`cgitb` module provides a special exception handler for Python scripts. | 
 | (Its name is a bit misleading.  It was originally designed to display extensive | 
 | traceback information in HTML for CGI scripts.  It was later generalized to also | 
 | display this information in plain text.)  After this module is activated, if an | 
 | uncaught exception occurs, a detailed, formatted report will be displayed.  The | 
 | report includes a traceback showing excerpts of the source code for each level, | 
 | as well as the values of the arguments and local variables to currently running | 
 | functions, to help you debug the problem.  Optionally, you can save this | 
 | information to a file instead of sending it to the browser. | 
 |  | 
 | To enable this feature, simply add this to the top of your CGI script:: | 
 |  | 
 |    import cgitb | 
 |    cgitb.enable() | 
 |  | 
 | The options to the :func:`enable` function control whether the report is | 
 | displayed in the browser and whether the report is logged to a file for later | 
 | analysis. | 
 |  | 
 |  | 
 | .. function:: enable(display=1, logdir=None, context=5, format="html") | 
 |  | 
 |    .. index:: single: excepthook() (in module sys) | 
 |  | 
 |    This function causes the :mod:`cgitb` module to take over the interpreter's | 
 |    default handling for exceptions by setting the value of :attr:`sys.excepthook`. | 
 |  | 
 |    The optional argument *display* defaults to ``1`` and can be set to ``0`` to | 
 |    suppress sending the traceback to the browser. If the argument *logdir* is | 
 |    present, the traceback reports are written to files.  The value of *logdir* | 
 |    should be a directory where these files will be placed. The optional argument | 
 |    *context* is the number of lines of context to display around the current line | 
 |    of source code in the traceback; this defaults to ``5``. If the optional | 
 |    argument *format* is ``"html"``, the output is formatted as HTML.  Any other | 
 |    value forces plain text output.  The default value is ``"html"``. | 
 |  | 
 |  | 
 | .. function:: handler(info=None) | 
 |  | 
 |    This function handles an exception using the default settings (that is, show a | 
 |    report in the browser, but don't log to a file). This can be used when you've | 
 |    caught an exception and want to report it using :mod:`cgitb`.  The optional | 
 |    *info* argument should be a 3-tuple containing an exception type, exception | 
 |    value, and traceback object, exactly like the tuple returned by | 
 |    :func:`sys.exc_info`.  If the *info* argument is not supplied, the current | 
 |    exception is obtained from :func:`sys.exc_info`. | 
 |  |