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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __docformat__ = 'restructuredtext en'
  5. __test__ = { }
  6. from twisted.python.failure import Failure
  7. from zope.interface import implements, classProvides
  8. from IPython.external import guid
  9. from IPython.frontend.frontendbase import FrontEndBase, IFrontEnd, IFrontEndFactory
  10. from IPython.kernel.core.history import FrontEndHistory
  11. from IPython.kernel.engineservice import IEngineCore
  12.  
  13. class AsyncFrontEndBase(FrontEndBase):
  14.     implements(IFrontEnd)
  15.     classProvides(IFrontEndFactory)
  16.     
  17.     def __init__(self, engine = None, history = None):
  18.         self.engine = IEngineCore(engine)
  19.         if history is None:
  20.             self.history = FrontEndHistory(input_cache = [
  21.                 ''])
  22.         else:
  23.             self.history = history
  24.  
  25.     
  26.     def execute(self, block, blockID = None):
  27.         if not self.is_complete(block):
  28.             return Failure(Exception('Block is not compilable'))
  29.         if blockID == None:
  30.             blockID = guid.generate()
  31.         
  32.         d = self.engine.execute(block)
  33.         d.addCallback(self._add_history, block = block)
  34.         d.addCallbacks(self._add_block_id_for_result, errback = self._add_block_id_for_failure, callbackArgs = (blockID,), errbackArgs = (blockID,))
  35.         d.addBoth(self.update_cell_prompt, blockID = blockID)
  36.         d.addCallbacks(self.render_result, errback = self.render_error)
  37.         return d
  38.  
  39.  
  40.