home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1862 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  1.8 KB  |  53 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __docformat__ = 'restructuredtext en'
  5. import sys
  6. from traceback import format_list
  7.  
  8. class TracebackTrap(object):
  9.     
  10.     def __init__(self, formatters = None):
  11.         if formatters is None:
  12.             formatters = []
  13.         
  14.         self.formatters = formatters
  15.         self.args = None
  16.         self.old_hook = None
  17.  
  18.     
  19.     def hook(self, *args):
  20.         self.args = args
  21.  
  22.     
  23.     def set(self):
  24.         if sys.excepthook is not self.hook:
  25.             self.old_hook = sys.excepthook
  26.             sys.excepthook = self.hook
  27.         
  28.  
  29.     
  30.     def unset(self):
  31.         sys.excepthook = self.old_hook
  32.  
  33.     
  34.     def clear(self):
  35.         self.args = None
  36.  
  37.     
  38.     def add_to_message(self, message):
  39.         if self.args is None:
  40.             return None
  41.         traceback = { }
  42.         
  43.         try:
  44.             for formatter in self.formatters:
  45.                 traceback[formatter.identifier] = formatter(*self.args)
  46.         except:
  47.             self.args is None
  48.             traceback['fallback'] = repr(self.args)
  49.  
  50.         message['traceback'] = traceback
  51.  
  52.  
  53.