OXIESEC PANEL
- Current Dir:
/
/
snap
/
core20
/
2599
/
usr
/
lib
/
python3.8
/
asyncio
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/26/2025 10:13:33 PM
rwxr-xr-x
📄
__init__.py
1.2 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
__main__.py
3.26 KB
03/18/2025 08:04:55 PM
rw-r--r--
📁
__pycache__
-
05/26/2025 10:13:33 PM
rwxr-xr-x
📄
base_events.py
70.92 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
base_futures.py
2.51 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
base_subprocess.py
8.64 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
base_tasks.py
2.41 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
constants.py
888 bytes
03/18/2025 08:04:55 PM
rw-r--r--
📄
coroutines.py
8.59 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
events.py
25.55 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
exceptions.py
1.59 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
format_helpers.py
2.35 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
futures.py
12.85 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
locks.py
16.87 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
log.py
124 bytes
03/18/2025 08:04:55 PM
rw-r--r--
📄
proactor_events.py
31.31 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
protocols.py
6.97 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
queues.py
8.03 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
runners.py
2.01 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
selector_events.py
38.08 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
sslproto.py
26.57 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
staggered.py
5.85 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
streams.py
26.03 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
subprocess.py
7.88 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
tasks.py
33.13 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
transports.py
10.24 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
trsock.py
5.74 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
unix_events.py
47.96 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
windows_events.py
32.1 KB
03/18/2025 08:04:55 PM
rw-r--r--
📄
windows_utils.py
4.94 KB
03/18/2025 08:04:55 PM
rw-r--r--
Editing: base_futures.py
Close
__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