diff --git a/telebot/util.py b/telebot/util.py index 49ea25d..711f003 100644 --- a/telebot/util.py +++ b/telebot/util.py @@ -420,7 +420,7 @@ def generate_random_token(): return ''.join(random.sample(string.ascii_letters, 16)) -def deprecated_dec(warn: bool=False, alternative: Optional[Callable]=None): +def deprecated(warn: bool=False, alternative: Optional[Callable]=None): """ Use this decorator to mark functions as deprecated. When the function is used, an info (or warning if `warn` is True) is logged. @@ -439,18 +439,3 @@ def deprecated_dec(warn: bool=False, alternative: Optional[Callable]=None): return wrapper return decorator - -def deprecated(func): - """This is a decorator which can be used to mark functions - as deprecated. It will result in a warning being emitted - when the function is used.""" - # https://stackoverflow.com/a/30253848/441814 - @functools.wraps(func) - def new_func(*args, **kwargs): - warnings.simplefilter('always', DeprecationWarning) # turn off filter - warnings.warn("Call to deprecated function {}.".format(func.__name__), - category=DeprecationWarning, - stacklevel=2) - warnings.simplefilter('default', DeprecationWarning) # reset filter - return func(*args, **kwargs) - return new_func diff --git a/tests/test_telebot.py b/tests/test_telebot.py index a2f3d36..0421033 100644 --- a/tests/test_telebot.py +++ b/tests/test_telebot.py @@ -19,6 +19,14 @@ if not should_skip: CHAT_ID = os.environ['CHAT_ID'] GROUP_ID = os.environ['GROUP_ID'] +def _new_test(): + pass + +@util.deprecated(alternative=_new_test) +def _test(): + pass + + @pytest.mark.skipif(should_skip, reason="No environment variables configured") class TestTeleBot: @@ -605,6 +613,9 @@ class TestTeleBot: tb.process_new_updates([update]) time.sleep(1) assert update.message.text == 'got' * 2 + + def test_deprecated_dec(self): + _test() def test_chat_permissions(self): return # CHAT_ID is private chat, no permissions can be set