From 6ef39f3253e8feec393d33005da518bba0b8034b Mon Sep 17 00:00:00 2001 From: marcosppca <80053067+marcosppca@users.noreply.github.com> Date: Thu, 8 Jan 2026 09:44:50 -0300 Subject: [PATCH] refactor: rejuvenation using match/case in format_value (#34594) * Refactor: Rejuvenation using match/case in format_value * refactor(format_value): rejuvenation using match/case (PEP 634) (#34594) * refactor: if for match * style: fix code formatting and indentation for consistency * chore: format Signed-off-by: Akhil Narang --------- Signed-off-by: Akhil Narang Co-authored-by: Akhil Narang --- frappe/utils/formatters.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/frappe/utils/formatters.py b/frappe/utils/formatters.py index 6f225c65bc..ee9f4a45bf 100644 --- a/frappe/utils/formatters.py +++ b/frappe/utils/formatters.py @@ -36,18 +36,19 @@ def format_value(value, df=None, doc=None, currency=None, translated=False, form if not df: df = frappe._dict() - if isinstance(value, datetime.datetime): - df.fieldtype = "Datetime" - elif isinstance(value, datetime.date): - df.fieldtype = "Date" - elif isinstance(value, datetime.timedelta): - df.fieldtype = "Time" - elif isinstance(value, int): - df.fieldtype = "Int" - elif isinstance(value, float): - df.fieldtype = "Float" - else: - df.fieldtype = "Data" + match value: + case datetime.datetime(): + df.fieldtype = "Datetime" + case datetime.date(): + df.fieldtype = "Date" + case datetime.timedelta(): + df.fieldtype = "Time" + case int(): + df.fieldtype = "Int" + case float(): + df.fieldtype = "Float" + case _: + df.fieldtype = "Data" elif isinstance(df, dict): # Convert dict to object if necessary