taolib.remote.session 源代码

"""远端 shell 上下文管理工具。"""
from collections.abc import Iterator
from contextlib import ExitStack, contextmanager
from typing import ContextManager, Protocol


[文档] class SupportsPrefix(Protocol):
[文档] def prefix(self, command: str) -> ContextManager[None]: ...
@contextmanager
[文档] def remote_prefixes(connection: SupportsPrefix, *prefix_cmds: str) -> Iterator[None]: """在同一个命令执行上下文中叠加多个 prefix。""" with ExitStack() as stack: for cmd in prefix_cmds: normalized = cmd.strip() if normalized: stack.enter_context(connection.prefix(normalized)) yield