🐐 GOAT Shell
Current path:
opt
/
alt
/
python39
/
lib64
/
python3.9
/
asyncio
/
👤 Create WP Admin
⬆️
Go up: python3.9
✏️ Editing: base_futures.py
__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
Save
📁
__pycache__
|
✏️ Rename
|
🗑️ Delete
📄
base_events.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
base_futures.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
base_subprocess.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
base_tasks.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
constants.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
coroutines.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
events.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
exceptions.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
format_helpers.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
futures.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
locks.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
log.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
proactor_events.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
protocols.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
queues.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
runners.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
selector_events.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sslproto.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
staggered.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
streams.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
subprocess.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tasks.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
threads.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
transports.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
trsock.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
unix_events.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
windows_events.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
windows_utils.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
__init__.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
__main__.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder