Lines Matching refs:self
23 def __enter__(self):
24 """Return `self` upon entering the runtime context."""
25 return self
28 def __exit__(self, exc_type, exc_value, traceback):
45 async def __aenter__(self):
46 """Return `self` upon entering the runtime context."""
47 return self
50 async def __aexit__(self, exc_type, exc_value, traceback):
65 def _recreate_cm(self):
66 """Return a recreated instance of self.
75 return self
77 def __call__(self, func):
80 with self._recreate_cm():
88 def _recreate_cm(self):
89 """Return a recreated instance of self.
91 return self
93 def __call__(self, func):
96 async with self._recreate_cm():
104 def __init__(self, func, args, kwds):
105 self.gen = func(*args, **kwds)
106 self.func, self.args, self.kwds = func, args, kwds
110 doc = type(self).__doc__
111 self.__doc__ = doc
118 def _recreate_cm(self):
122 return self.__class__(self.func, self.args, self.kwds)
132 def __enter__(self):
135 del self.args, self.kwds, self.func
137 return next(self.gen)
141 def __exit__(self, typ, value, traceback):
144 next(self.gen)
155 self.gen.throw(typ, value, traceback)
199 async def __aenter__(self):
202 del self.args, self.kwds, self.func
204 return await anext(self.gen)
208 async def __aexit__(self, typ, value, traceback):
211 await anext(self.gen)
222 await self.gen.athrow(typ, value, traceback)
343 def __init__(self, thing):
344 self.thing = thing
345 def __enter__(self):
346 return self.thing
347 def __exit__(self, *exc_info):
348 self.thing.close()
369 def __init__(self, thing):
370 self.thing = thing
371 async def __aenter__(self):
372 return self.thing
373 async def __aexit__(self, *exc_info):
374 await self.thing.aclose()
381 def __init__(self, new_target):
382 self._new_target = new_target
384 self._old_targets = []
386 def __enter__(self):
387 self._old_targets.append(getattr(sys, self._stream))
388 setattr(sys, self._stream, self._new_target)
389 return self._new_target
391 def __exit__(self, exctype, excinst, exctb):
392 setattr(sys, self._stream, self._old_targets.pop())
428 def __init__(self, *exceptions):
429 self._exceptions = exceptions
431 def __enter__(self):
434 def __exit__(self, exctype, excinst, exctb):
444 return exctype is not None and issubclass(exctype, self._exceptions)
460 def __init__(self):
461 self._exit_callbacks = deque()
463 def pop_all(self):
465 new_stack = type(self)()
466 new_stack._exit_callbacks = self._exit_callbacks
467 self._exit_callbacks = deque()
470 def push(self, exit):
485 self._push_exit_callback(exit)
487 self._push_cm_exit(exit, exit_method)
490 def enter_context(self, cm):
506 self._push_cm_exit(cm, _exit)
509 def callback(self, callback, /, *args, **kwds):
514 _exit_wrapper = self._create_cb_wrapper(callback, *args, **kwds)
519 self._push_exit_callback(_exit_wrapper)
522 def _push_cm_exit(self, cm, cm_exit):
524 _exit_wrapper = self._create_exit_wrapper(cm, cm_exit)
525 self._push_exit_callback(_exit_wrapper, True)
527 def _push_exit_callback(self, callback, is_sync=True):
528 self._exit_callbacks.append((is_sync, callback))
543 def __enter__(self):
544 return self
546 def __exit__(self, *exc_details):
570 while self._exit_callbacks:
571 is_sync, cb = self._exit_callbacks.pop()
595 def close(self):
597 self.__exit__(None, None, None)
624 async def enter_async_context(self, cm):
639 self._push_async_cm_exit(cm, _exit)
642 def push_async_exit(self, exit):
655 self._push_exit_callback(exit, False)
657 self._push_async_cm_exit(exit, exit_method)
660 def push_async_callback(self, callback, /, *args, **kwds):
665 _exit_wrapper = self._create_async_cb_wrapper(callback, *args, **kwds)
670 self._push_exit_callback(_exit_wrapper, False)
673 async def aclose(self):
675 await self.__aexit__(None, None, None)
677 def _push_async_cm_exit(self, cm, cm_exit):
680 _exit_wrapper = self._create_async_exit_wrapper(cm, cm_exit)
681 self._push_exit_callback(_exit_wrapper, False)
683 async def __aenter__(self):
684 return self
686 async def __aexit__(self, *exc_details):
710 while self._exit_callbacks:
711 is_sync, cb = self._exit_callbacks.pop()
751 def __init__(self, enter_result=None):
752 self.enter_result = enter_result
754 def __enter__(self):
755 return self.enter_result
757 def __exit__(self, *excinfo):
760 async def __aenter__(self):
761 return self.enter_result
763 async def __aexit__(self, *excinfo):
770 def __init__(self, path):
771 self.path = path
772 self._old_cwd = []
774 def __enter__(self):
775 self._old_cwd.append(os.getcwd())
776 os.chdir(self.path)
778 def __exit__(self, *excinfo):
779 os.chdir(self._old_cwd.pop())