home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 January / maximum-cd-2011-01.iso / DiscContents / calibre-0.7.26.msi / file_1941 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-10-31  |  7.9 KB  |  222 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __docformat__ = 'restructuredtext en'
  5. __test__ = { }
  6. from twisted.python import failure
  7. from IPython.kernel.core import error
  8.  
  9. class KernelError(error.IPythonError):
  10.     pass
  11.  
  12.  
  13. class NotDefined(KernelError):
  14.     
  15.     def __init__(self, name):
  16.         self.name = name
  17.         self.args = (name,)
  18.  
  19.     
  20.     def __repr__(self):
  21.         return '<NotDefined: %s>' % self.name
  22.  
  23.     __str__ = __repr__
  24.  
  25.  
  26. class QueueCleared(KernelError):
  27.     pass
  28.  
  29.  
  30. class IdInUse(KernelError):
  31.     pass
  32.  
  33.  
  34. class ProtocolError(KernelError):
  35.     pass
  36.  
  37.  
  38. class ConnectionError(KernelError):
  39.     pass
  40.  
  41.  
  42. class InvalidEngineID(KernelError):
  43.     pass
  44.  
  45.  
  46. class NoEnginesRegistered(KernelError):
  47.     pass
  48.  
  49.  
  50. class InvalidClientID(KernelError):
  51.     pass
  52.  
  53.  
  54. class InvalidDeferredID(KernelError):
  55.     pass
  56.  
  57.  
  58. class SerializationError(KernelError):
  59.     pass
  60.  
  61.  
  62. class MessageSizeError(KernelError):
  63.     pass
  64.  
  65.  
  66. class PBMessageSizeError(MessageSizeError):
  67.     pass
  68.  
  69.  
  70. class ResultNotCompleted(KernelError):
  71.     pass
  72.  
  73.  
  74. class ResultAlreadyRetrieved(KernelError):
  75.     pass
  76.  
  77.  
  78. class ClientError(KernelError):
  79.     pass
  80.  
  81.  
  82. class TaskAborted(KernelError):
  83.     pass
  84.  
  85.  
  86. class TaskTimeout(KernelError):
  87.     pass
  88.  
  89.  
  90. class NotAPendingResult(KernelError):
  91.     pass
  92.  
  93.  
  94. class UnpickleableException(KernelError):
  95.     pass
  96.  
  97.  
  98. class AbortedPendingDeferredError(KernelError):
  99.     pass
  100.  
  101.  
  102. class InvalidProperty(KernelError):
  103.     pass
  104.  
  105.  
  106. class MissingBlockArgument(KernelError):
  107.     pass
  108.  
  109.  
  110. class StopLocalExecution(KernelError):
  111.     pass
  112.  
  113.  
  114. class SecurityError(KernelError):
  115.     pass
  116.  
  117.  
  118. class FileTimeoutError(KernelError):
  119.     pass
  120.  
  121.  
  122. class TaskRejectError(KernelError):
  123.     pass
  124.  
  125.  
  126. class CompositeError(KernelError):
  127.     
  128.     def __init__(self, message, elist):
  129.         Exception.__init__(self, *(message, elist))
  130.         self.message = message
  131.         self.elist = elist
  132.  
  133.     
  134.     def _get_engine_str(self, ev):
  135.         
  136.         try:
  137.             ei = ev._ipython_engine_info
  138.         except AttributeError:
  139.             return '[Engine Exception]'
  140.  
  141.         return '[%i:%s]: ' % (ei['engineid'], ei['method'])
  142.  
  143.     
  144.     def _get_traceback(self, ev):
  145.         
  146.         try:
  147.             tb = ev._ipython_traceback_text
  148.         except AttributeError:
  149.             return 'No traceback available'
  150.  
  151.         return tb
  152.  
  153.     
  154.     def __str__(self):
  155.         s = str(self.message)
  156.         for et, ev, etb in self.elist:
  157.             engine_str = self._get_engine_str(ev)
  158.             s = s + '\n' + engine_str + str(et.__name__) + ': ' + str(ev)
  159.         
  160.         return s
  161.  
  162.     
  163.     def print_tracebacks(self, excid = None):
  164.         if excid is None:
  165.             for et, ev, etb in self.elist:
  166.                 print self._get_engine_str(ev)
  167.                 print self._get_traceback(ev)
  168.                 print 
  169.             
  170.         else:
  171.             
  172.             try:
  173.                 (et, ev, etb) = self.elist[excid]
  174.             except:
  175.                 raise IndexError('an exception with index %i does not exist' % excid)
  176.  
  177.             print self._get_engine_str(ev)
  178.             print self._get_traceback(ev)
  179.  
  180.     
  181.     def raise_exception(self, excid = 0):
  182.         
  183.         try:
  184.             (et, ev, etb) = self.elist[excid]
  185.         except:
  186.             raise IndexError('an exception with index %i does not exist' % excid)
  187.  
  188.         raise et, ev, etb
  189.  
  190.  
  191.  
  192. def collect_exceptions(rlist, method):
  193.     elist = []
  194.     for r in rlist:
  195.         if isinstance(r, failure.Failure):
  196.             r.cleanFailure()
  197.             et = r.type
  198.             ev = r.value
  199.             etb = r.tb
  200.             if et == CompositeError:
  201.                 for e in ev.elist:
  202.                     elist.append(e)
  203.                 
  204.             else:
  205.                 elist.append((et, ev, etb))
  206.         et == CompositeError
  207.     
  208.     if len(elist) == 0:
  209.         return rlist
  210.     msg = 'one or more exceptions from call to method: %s' % method
  211.     
  212.     try:
  213.         raise CompositeError(msg, elist)
  214.     except CompositeError:
  215.         len(elist) == 0
  216.         e = len(elist) == 0
  217.         raise e
  218.     except:
  219.         len(elist) == 0
  220.  
  221.  
  222.