(*args: P.args, **kwargs: P.kwargs)
| 24 | def _recover(func: Callable[P, R]) -> Callable[P, R]: |
| 25 | @wraps(func) |
| 26 | def _wrapper(*args: P.args, **kwargs: P.kwargs) -> R: |
| 27 | origin_managers = _managers.copy() |
| 28 | origin_plugins = _plugins.copy() |
| 29 | try: |
| 30 | return func(*args, **kwargs) |
| 31 | finally: |
| 32 | _managers.clear() |
| 33 | _managers.extend(origin_managers) |
| 34 | _plugins.clear() |
| 35 | _plugins.update(origin_plugins) |
| 36 | |
| 37 | return _wrapper |
| 38 |