Current Path: > > lib64 > python3.8 > asyncio
Operation : Linux premium107.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 198.54.126.246 | Your IP: 216.73.216.181 Domains : 1034 Domain(s) Permission : [ 0755 ]
| Name | Type | Size | Last Modified | Actions |
|---|---|---|---|---|
| __pycache__ | Directory | - | - | |
| __init__.py | File | 1227 bytes | June 06 2023 13:32:21. | |
| __main__.py | File | 3343 bytes | June 06 2023 13:32:21. | |
| base_events.py | File | 72621 bytes | June 06 2023 13:32:21. | |
| base_futures.py | File | 2574 bytes | June 06 2023 13:32:21. | |
| base_subprocess.py | File | 8843 bytes | June 06 2023 13:32:21. | |
| base_tasks.py | File | 2467 bytes | June 06 2023 13:32:21. | |
| constants.py | File | 888 bytes | June 06 2023 13:32:21. | |
| coroutines.py | File | 8797 bytes | June 06 2023 13:32:21. | |
| events.py | File | 26164 bytes | June 06 2023 13:32:21. | |
| exceptions.py | File | 1633 bytes | June 06 2023 13:32:21. | |
| format_helpers.py | File | 2404 bytes | June 06 2023 13:32:21. | |
| futures.py | File | 13154 bytes | June 06 2023 13:32:21. | |
| locks.py | File | 17276 bytes | June 06 2023 13:32:21. | |
| log.py | File | 124 bytes | June 06 2023 13:32:21. | |
| proactor_events.py | File | 32060 bytes | June 06 2023 13:32:21. | |
| protocols.py | File | 7136 bytes | June 06 2023 13:32:21. | |
| queues.py | File | 8223 bytes | June 06 2023 13:32:21. | |
| runners.py | File | 2054 bytes | June 06 2023 13:32:21. | |
| selector_events.py | File | 38996 bytes | June 06 2023 13:32:21. | |
| sslproto.py | File | 27210 bytes | June 06 2023 13:32:21. | |
| staggered.py | File | 5992 bytes | June 06 2023 13:32:21. | |
| streams.py | File | 26656 bytes | June 06 2023 13:32:21. | |
| subprocess.py | File | 8068 bytes | June 06 2023 13:32:21. | |
| tasks.py | File | 33923 bytes | June 06 2023 13:32:21. | |
| transports.py | File | 10486 bytes | June 06 2023 13:32:21. | |
| trsock.py | File | 5876 bytes | June 06 2023 13:32:21. | |
| unix_events.py | File | 49115 bytes | June 06 2023 13:32:21. | |
| windows_events.py | File | 32873 bytes | June 06 2023 13:32:21. | |
| windows_utils.py | File | 5060 bytes | June 06 2023 13:32:21. |
__all__ = ()
import reprlib
from _thread import get_ident
from . 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 advertising
itself as duck-type compatible by setting _asyncio_future_blocking.
See comment in Future for more details.
"""
return (hasattr(obj.__class__, '_asyncio_future_blocking') and
obj._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}]'
# bpo-42183: _repr_running is needed for repr protection
# when a Future or Task result contains itself directly or indirectly.
# The logic is borrowed from @reprlib.recursive_repr decorator.
# Unfortunately, the direct decorator usage is impossible because of
# AttributeError: '_asyncio.Task' object has no attribute '__module__' error.
#
# After fixing this thing we can return to the decorator based approach.
_repr_running = set()
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:
key = id(future), get_ident()
if key in _repr_running:
result = '...'
else:
_repr_running.add(key)
try:
# use reprlib to limit the length of the output, especially
# for very long strings
result = reprlib.repr(future._result)
finally:
_repr_running.discard(key)
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
SILENT KILLER Tool