From 4aab4087dc97906d0b9890035401175cdaab32d4 Mon Sep 17 00:00:00 2001 From: blackhao <13851610112@163.com> Date: Fri, 22 Aug 2025 02:51:50 -0500 Subject: 2.0 --- .../~ip/_internal/cli/command_context.py | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/~ip/_internal/cli/command_context.py (limited to '.venv/lib/python3.12/site-packages/~ip/_internal/cli/command_context.py') diff --git a/.venv/lib/python3.12/site-packages/~ip/_internal/cli/command_context.py b/.venv/lib/python3.12/site-packages/~ip/_internal/cli/command_context.py new file mode 100644 index 0000000..139995a --- /dev/null +++ b/.venv/lib/python3.12/site-packages/~ip/_internal/cli/command_context.py @@ -0,0 +1,27 @@ +from contextlib import ExitStack, contextmanager +from typing import ContextManager, Generator, TypeVar + +_T = TypeVar("_T", covariant=True) + + +class CommandContextMixIn: + def __init__(self) -> None: + super().__init__() + self._in_main_context = False + self._main_context = ExitStack() + + @contextmanager + def main_context(self) -> Generator[None, None, None]: + assert not self._in_main_context + + self._in_main_context = True + try: + with self._main_context: + yield + finally: + self._in_main_context = False + + def enter_context(self, context_provider: ContextManager[_T]) -> _T: + assert self._in_main_context + + return self._main_context.enter_context(context_provider) -- cgit v1.2.3