parameters: (self, future)
return_statement: return future.result()
docstring: Run until the Future is done.
  
          If the argument is a coroutine, it is wrapped in a Task.
  
          WARNING: It would be disastrous to call run_until_complete()
          with the same coroutine twice -- it would wrap it in two
          different Tasks and that can't be good.
  
          Return the Future's result, or raise its exception.
docstring_summary: Run until the Future is done.
docstring_tokens: Run until the Future is done .
function: def run_until_complete(self, future):
          """Run until the Future is done.
  
          If the argument is a coroutine, it is wrapped in a Task.
  
          WARNING: It would be disastrous to call run_until_complete()
          with the same coroutine twice -- it would wrap it in two
          different Tasks and that can't be good.
  
          Return the Future's result, or raise its exception.
          """
          self._check_closed()
          self._check_running()
  
          new_task = not futures.isfuture(future)
          future = tasks.ensure_future(future, loop=self)
          if new_task:
              # An exception is raised if the future didn't complete, so there
              # is no need to log the "destroy pending task" message
              future._log_destroy_pending = False
  
          future.add_done_callback(_run_until_complete_cb)
          try:
              self.run_forever()
          except:
              if new_task and future.done() and not future.cancelled():
                  # The coroutine raised a BaseException. Consume the exception
                  # to not log a warning, the caller doesn't have access to the
                  # local task.
                  future.exception()
              raise
          finally:
              future.remove_done_callback(_run_until_complete_cb)
          if not future.done():
              raise RuntimeError('Event loop stopped before Future completed.')
  
          return future.result()
function_tokens: def run_until_complete ( self , future ) : self . _check_closed ( ) self . _check_running ( ) new_task = not futures . isfuture ( future ) future = tasks . ensure_future ( future , loop = self ) if new_task : # An exception is raised if the future didn't complete, so there # is no need to log the "destroy pending task" message future . _log_destroy_pending = False future . add_done_callback ( _run_until_complete_cb ) try : self . run_forever ( ) except : if new_task and future . done ( ) and not future . cancelled ( ) : # The coroutine raised a BaseException. Consume the exception # to not log a warning, the caller doesn't have access to the # local task. future . exception ( ) raise finally : future . remove_done_callback ( _run_until_complete_cb ) if not future . done ( ) : raise RuntimeError ( 'Event loop stopped before Future completed.' ) return future . result ( )