class singleton: pass


class ExceptionHandler(Object):
    def writeExceptionReport(self, handler):
        def write(self, s):
        def writeln(self, s):
        def writeTitle(self, s):
        def writeDict(self, d):
        def writeTable(self, listOfDicts, keys=None):
        def writeAttrs(self, obj, attrNames):


        class ExceptionHandler(_ExceptionHandler):
            def work(self):
        def contextInitialize(app, ctxPath):

    ## Init ##
    def __init__(self, application, transaction, excInfo):

        ## @@ 2003-01-10 sd: This requires a transaction which we do not have.

        ## Making remaining code safe for no transaction.

    ## Utilities ##
    def setting(self, name):
    def servletPathname(self):
    def basicServletName(self):

    ## Exception handling ##
    def work(self):
    def logExceptionToConsole(self, stderr=None):
    def publicErrorPage(self):
    def privateErrorPage(self):
    def htmlDebugInfo(self):
    def writeHTML(self):

    ## Write utility methods ##
    def write(self, s):
    def writeln(self, s):
    def writeTitle(self, s):
    def writeDict(self, d):
    def writeTable(self, listOfDicts, keys=None):
    def writeAttrs(self, obj, attrNames):

    ## Write specific parts ##
    def writeTraceback(self):
    def writeMiscInfo(self):
    def writeTransaction(self):
    def writeEnvironment(self):
    def writeIds(self):
    def writeFancyTraceback(self):
    def saveErrorPage(self, html):
    def errorPageFilename(self):
    def logExceptionToDisk(self, errorMsgFilename=''):
        def fixElement(element):
    def emailException(self, htmlErrMsg):

        ## Construct the message headers

        ## Construct the message body

    ## Filtering Values ##
    def filterDictValue(self, value, key, dict):
    def filterTableValue(self, value, key, row, table):
    def filterValue(self, value, key):

    ## Self utility ##
    def repr(self, x):
def htTitle(name):
def osIdTable():