bpo-38415: Allow using @asynccontextmanager-made ctx managers as decorators (GH-16667)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user