34 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
__pycache__ — dir
2026-07-01 11:10 · rwxr-xr-x
2026-07-01 11:10 rwxr-xr-x
__init__.py — 1.16 KB
2025-06-03 18:38 · rw-r--r--
1.16 KB 2025-06-03 18:38 rw-r--r--
__main__.py — 3.3 KB
2025-06-03 18:38 · rw-r--r--
3.3 KB 2025-06-03 18:38 rw-r--r--
base_events.py — 73.62 KB
2025-06-03 18:38 · rw-r--r--
73.62 KB 2025-06-03 18:38 rw-r--r--
base_futures.py — 1.96 KB
2025-06-03 18:38 · rw-r--r--
1.96 KB 2025-06-03 18:38 rw-r--r--
base_subprocess.py — 8.66 KB
2025-06-03 18:38 · rw-r--r--
8.66 KB 2025-06-03 18:38 rw-r--r--
base_tasks.py — 2.58 KB
2025-06-03 18:38 · rw-r--r--
2.58 KB 2025-06-03 18:38 rw-r--r--
constants.py — 1.29 KB
2025-06-03 18:38 · rw-r--r--
1.29 KB 2025-06-03 18:38 rw-r--r--
coroutines.py — 3.32 KB
2025-06-03 18:38 · rw-r--r--
3.32 KB 2025-06-03 18:38 rw-r--r--
events.py — 27.97 KB
2025-06-03 18:38 · rw-r--r--
27.97 KB 2025-06-03 18:38 rw-r--r--
exceptions.py — 1.71 KB
2025-06-03 18:38 · rw-r--r--
1.71 KB 2025-06-03 18:38 rw-r--r--
format_helpers.py — 2.35 KB
2025-06-03 18:38 · rw-r--r--
2.35 KB 2025-06-03 18:38 rw-r--r--
futures.py — 13.88 KB
2025-06-03 18:38 · rw-r--r--
13.88 KB 2025-06-03 18:38 rw-r--r--
locks.py — 18.57 KB
2025-06-03 18:38 · rw-r--r--
18.57 KB 2025-06-03 18:38 rw-r--r--
log.py — 124 B
2025-06-03 18:38 · rw-r--r--
124 B 2025-06-03 18:38 rw-r--r--
mixins.py — 481 B
2025-06-03 18:38 · rw-r--r--
481 B 2025-06-03 18:38 rw-r--r--
proactor_events.py — 32.48 KB
2025-06-03 18:38 · rw-r--r--
32.48 KB 2025-06-03 18:38 rw-r--r--
protocols.py — 6.79 KB
2025-06-03 18:38 · rw-r--r--
6.79 KB 2025-06-03 18:38 rw-r--r--
queues.py — 7.79 KB
2025-06-03 18:38 · rw-r--r--
7.79 KB 2025-06-03 18:38 rw-r--r--
runners.py — 6.68 KB
2025-06-03 18:38 · rw-r--r--
6.68 KB 2025-06-03 18:38 rw-r--r--
selector_events.py — 44.34 KB
2025-06-03 18:38 · rw-r--r--
44.34 KB 2025-06-03 18:38 rw-r--r--
sslproto.py — 31 KB
2025-06-03 18:38 · rw-r--r--
31 KB 2025-06-03 18:38 rw-r--r--
staggered.py — 5.85 KB
2025-06-03 18:38 · rw-r--r--
5.85 KB 2025-06-03 18:38 rw-r--r--
streams.py — 26.86 KB
2025-06-03 18:38 · rw-r--r--
26.86 KB 2025-06-03 18:38 rw-r--r--
subprocess.py — 7.5 KB
2025-06-03 18:38 · rw-r--r--
7.5 KB 2025-06-03 18:38 rw-r--r--
taskgroups.py — 8.27 KB
2025-06-03 18:38 · rw-r--r--
8.27 KB 2025-06-03 18:38 rw-r--r--
tasks.py — 33.63 KB
2025-06-03 18:38 · rw-r--r--
33.63 KB 2025-06-03 18:38 rw-r--r--
threads.py — 790 B
2025-06-03 18:38 · rw-r--r--
790 B 2025-06-03 18:38 rw-r--r--
timeouts.py — 5.2 KB
2025-06-03 18:38 · rw-r--r--
5.2 KB 2025-06-03 18:38 rw-r--r--
transports.py — 10.47 KB
2025-06-03 18:38 · rw-r--r--
10.47 KB 2025-06-03 18:38 rw-r--r--
trsock.py — 2.42 KB
2025-06-03 18:38 · rw-r--r--
2.42 KB 2025-06-03 18:38 rw-r--r--
unix_events.py — 50.7 KB
2025-06-03 18:38 · rw-r--r--
50.7 KB 2025-06-03 18:38 rw-r--r--
windows_events.py — 33.88 KB
2025-06-03 18:38 · rw-r--r--
33.88 KB 2025-06-03 18:38 rw-r--r--
windows_utils.py — 4.94 KB
2025-06-03 18:38 · rw-r--r--
4.94 KB 2025-06-03 18:38 rw-r--r--
ONLINE
asyncio
34 items
21:57:24
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
import linecache import reprlib import traceback from . import base_futures from . import coroutines def _task_repr_info(task): info = base_futures._future_repr_info(task) if task.cancelling() and not task.done(): # replace status info[0] = 'cancelling' info.insert(1, 'name=%r' % task.get_name()) coro = coroutines._format_coroutine(task._coro) info.insert(2, f'coro=<{coro}>') if task._fut_waiter is not None: info.insert(3, f'wait_for={task._fut_waiter!r}') return info @reprlib.recursive_repr() def _task_repr(task): info = ' '.join(_task_repr_info(task)) return f'<{task.__class__.__name__} {info}>' def _task_get_stack(task, limit): frames = [] if hasattr(task._coro, 'cr_frame'): # case 1: 'async def' coroutines f = task._coro.cr_frame elif hasattr(task._coro, 'gi_frame'): # case 2: legacy coroutines f = task._coro.gi_frame elif hasattr(task._coro, 'ag_frame'): # case 3: async generators f = task._coro.ag_frame else: # case 4: unknown objects f = None if f is not None: while f is not None: if limit is not None: if limit <= 0: break limit -= 1 frames.append(f) f = f.f_back frames.reverse() elif task._exception is not None: tb = task._exception.__traceback__ while tb is not None: if limit is not None: if limit <= 0: break limit -= 1 frames.append(tb.tb_frame) tb = tb.tb_next return frames def _task_print_stack(task, limit, file): extracted_list = [] checked = set() for f in task.get_stack(limit=limit): lineno = f.f_lineno co = f.f_code filename = co.co_filename name = co.co_name if filename not in checked: checked.add(filename) linecache.checkcache(filename) line = linecache.getline(filename, lineno, f.f_globals) extracted_list.append((filename, lineno, name, line)) exc = task._exception if not extracted_list: print(f'No stack for {task!r}', file=file) elif exc is not None: print(f'Traceback for {task!r} (most recent call last):', file=file) else: print(f'Stack for {task!r} (most recent call last):', file=file) traceback.print_list(extracted_list, file=file) if exc is not None: for line in traceback.format_exception_only(exc.__class__, exc): print(line, file=file, end='')