__all__ = ()import reprlibfrom . import format_helpers# States for Future._PENDING = 'PENDING'_CANCELLED = 'CANCELLED'_FINISHED = 'FINISHED'def isfuture(obj):"""Check for a Future.This returns True when obj is a Future instance or is advertisingitself as duck-type compatible by setting _asyncio_future_blocking.See comment in Future for more details."""return (hasattr(obj.__class__, '_asyncio_future_blocking') andobj._asyncio_future_blocking is not None)def _format_callbacks(cb):"""helper function for Future.__repr__"""size = len(cb)if not size:cb = ''def format_cb(callback):return format_helpers._format_callback_source(callback, ())if size == 1:cb = format_cb(cb[0][0])elif size == 2:cb = '{}, {}'.format(format_cb(cb[0][0]), format_cb(cb[1][0]))elif size > 2:cb = '{}, <{} more>, {}'.format(format_cb(cb[0][0]),size - 2,format_cb(cb[-1][0]))return f'cb=[{cb}]'def _future_repr_info(future):# (Future) -> str"""helper function for Future.__repr__"""info = [future._state.lower()]if future._state == _FINISHED:if future._exception is not None:info.append(f'exception={future._exception!r}')else:# use reprlib to limit the length of the output, especially# for very long stringsresult = reprlib.repr(future._result)info.append(f'result={result}')if future._callbacks:info.append(_format_callbacks(future._callbacks))if future._source_traceback:frame = future._source_traceback[-1]info.append(f'created at {frame[0]}:{frame[1]}')return info
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。