mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
bpo-38415: Allow using @asynccontextmanager-made ctx managers as decorators (GH-16667)
This commit is contained in:
parent
af90b5498b
commit
86b833badd
3 changed files with 87 additions and 0 deletions
|
@ -191,6 +191,14 @@ class _AsyncGeneratorContextManager(
|
|||
):
|
||||
"""Helper for @asynccontextmanager decorator."""
|
||||
|
||||
def __call__(self, func):
|
||||
@wraps(func)
|
||||
async def inner(*args, **kwds):
|
||||
async with self.__class__(self.func, self.args, self.kwds):
|
||||
return await func(*args, **kwds)
|
||||
|
||||
return inner
|
||||
|
||||
async def __aenter__(self):
|
||||
# do not keep args and kwds alive unnecessarily
|
||||
# they are only needed for recreation, which is not possible anymore
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue