From b436cf8e27922dfd87460bf637aa71d7d58d88b2 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 4 Jan 2020 20:17:22 +0500 Subject: [PATCH] fix: renamed_argument decorator error Also, I removed hidden mutation of input in _handling function --- aiogram/utils/deprecated.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/aiogram/utils/deprecated.py b/aiogram/utils/deprecated.py index 5232e8a3..83a9034c 100644 --- a/aiogram/utils/deprecated.py +++ b/aiogram/utils/deprecated.py @@ -102,14 +102,18 @@ def renamed_argument(old_name: str, new_name: str, until_version: str, stackleve is_coroutine = asyncio.iscoroutinefunction(func) def _handling(kwargs): + """ + Returns updated version of kwargs. + """ routine_type = 'coroutine' if is_coroutine else 'function' if old_name in kwargs: warn_deprecated(f"In {routine_type} '{func.__name__}' argument '{old_name}' " f"is renamed to '{new_name}' " f"and will be removed in aiogram {until_version}", stacklevel=stacklevel) + kwargs = kwargs.copy() kwargs.update({new_name: kwargs.pop(old_name)}) - return kwargs + return kwargs if is_coroutine: @functools.wraps(func)