From 141d1c3aab0d6364fdbc41cd0f28be7635bec406 Mon Sep 17 00:00:00 2001 From: Elijah Ahianyo Date: Wed, 6 Sep 2023 17:46:44 +0000 Subject: [PATCH] Deprecation warning enhancement (#1738) --- reflex/route.py | 7 ++++++- reflex/utils/console.py | 18 ++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/reflex/route.py b/reflex/route.py index 47e1e5dfa..8efcf4096 100644 --- a/reflex/route.py +++ b/reflex/route.py @@ -36,7 +36,12 @@ def route( Returns: The decorated function. """ - deprecate("@rx.route is deprecated and is being replaced by @rx.page instead") + deprecate( + feature_name="@rx.route", + deprecation_version="0.2.3", + reason="and is being replaced by @rx.page due to enhanced routing features.", + removal_version="0.2.8", + ) return page( route=route, diff --git a/reflex/utils/console.py b/reflex/utils/console.py index 16914bbbe..0374defaa 100644 --- a/reflex/utils/console.py +++ b/reflex/utils/console.py @@ -102,13 +102,27 @@ def warn(msg: str, **kwargs): print(f"[orange1]Warning: {msg}[/orange1]", **kwargs) -def deprecate(msg: str, **kwargs): +# def deprecate(msg: str, **kwargs): +def deprecate( + feature_name: str, + reason: str, + deprecation_version: str, + removal_version: str, + **kwargs, +): """Print a deprecation warning. Args: - msg: The deprecation message. + feature_name: The feature to deprecate. + reason: The reason for deprecation. + deprecation_version: The version the feature was deprecated + removal_version: The version the deprecated feature will be removed. kwargs: Keyword arguments to pass to the print function. """ + msg = ( + f"{feature_name} has been deprecated in version {deprecation_version} {reason}. It will be completely " + f"removed in {removal_version}" + ) if LOG_LEVEL <= LogLevel.WARNING: print(f"[yellow]DeprecationWarning: {msg}[/yellow]", **kwargs)