(self, future)
return future.result()
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.
Run until the Future is done.
Run until the Future is done .
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()
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 ( )