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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __docformat__ = 'restructuredtext en'
  5. from zope.interface import Interface, implements
  6. from twisted.python import components, log
  7. from IPython.kernel.twistedutil import blockingCallFromThread
  8. from IPython.kernel import task, error
  9. from IPython.kernel.mapper import SynchronousTaskMapper, ITaskMapperFactory, IMapper
  10. from IPython.kernel.parallelfunction import ParallelFunction, ITaskParallelDecorator
  11.  
  12. class IBlockingTaskClient(Interface):
  13.     pass
  14.  
  15.  
  16. class BlockingTaskClient(object):
  17.     implements(IBlockingTaskClient, ITaskMapperFactory, IMapper, ITaskParallelDecorator)
  18.     
  19.     def __init__(self, task_controller):
  20.         self.task_controller = task_controller
  21.         self.block = True
  22.  
  23.     
  24.     def run(self, task, block = False):
  25.         tid = blockingCallFromThread(self.task_controller.run, task)
  26.         if block:
  27.             return self.get_task_result(tid, block = True)
  28.         return tid
  29.  
  30.     
  31.     def get_task_result(self, taskid, block = False):
  32.         return blockingCallFromThread(self.task_controller.get_task_result, taskid, block)
  33.  
  34.     
  35.     def abort(self, taskid):
  36.         return blockingCallFromThread(self.task_controller.abort, taskid)
  37.  
  38.     
  39.     def barrier(self, taskids):
  40.         return blockingCallFromThread(self.task_controller.barrier, taskids)
  41.  
  42.     
  43.     def spin(self):
  44.         return blockingCallFromThread(self.task_controller.spin)
  45.  
  46.     
  47.     def queue_status(self, verbose = False):
  48.         return blockingCallFromThread(self.task_controller.queue_status, verbose)
  49.  
  50.     
  51.     def clear(self):
  52.         return blockingCallFromThread(self.task_controller.clear)
  53.  
  54.     
  55.     def map(self, func, *sequences):
  56.         return self.mapper().map(func, *sequences)
  57.  
  58.     
  59.     def mapper(self, clear_before = False, clear_after = False, retries = 0, recovery_task = None, depend = None, block = True):
  60.         return SynchronousTaskMapper(self, clear_before = clear_before, clear_after = clear_after, retries = retries, recovery_task = recovery_task, depend = depend, block = block)
  61.  
  62.     
  63.     def parallel(self, clear_before = False, clear_after = False, retries = 0, recovery_task = None, depend = None, block = True):
  64.         mapper = self.mapper(clear_before, clear_after, retries, recovery_task, depend, block)
  65.         pf = ParallelFunction(mapper)
  66.         return pf
  67.  
  68.  
  69. components.registerAdapter(BlockingTaskClient, task.ITaskController, IBlockingTaskClient)
  70.