From 7e2e5f80b9dac60c7a1c7f5bda28b1d0d6c409f4 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 17 Oct 2024 14:57:14 +0200 Subject: [PATCH] fix: Usage of tzinfo replace when no tz is specified --- frappe/email/frappemail.py | 2 +- frappe/integrations/doctype/token_cache/token_cache.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/frappe/email/frappemail.py b/frappe/email/frappemail.py index 6f34b55ec5..e653d46039 100644 --- a/frappe/email/frappemail.py +++ b/frappe/email/frappemail.py @@ -125,7 +125,7 @@ def add_or_update_tzinfo(date_time: datetime | str, timezone: str | None = None) target_tz = ZoneInfo(timezone or get_system_timezone()) if date_time.tzinfo is None: - date_time = target_tz.localize(date_time) + date_time = date_time.replace(tzinfo=target_tz) else: date_time = date_time.astimezone(target_tz) diff --git a/frappe/integrations/doctype/token_cache/token_cache.py b/frappe/integrations/doctype/token_cache/token_cache.py index 5be4134ef5..b9ec45ac6f 100644 --- a/frappe/integrations/doctype/token_cache/token_cache.py +++ b/frappe/integrations/doctype/token_cache/token_cache.py @@ -7,7 +7,7 @@ from zoneinfo import ZoneInfo import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import cint, cstr, get_system_timezone +from frappe.utils import cint, cstr, get_system_timezone, get_datetime class TokenCache(Document): @@ -73,8 +73,7 @@ class TokenCache(Document): def get_expires_in(self): system_timezone = ZoneInfo(get_system_timezone()) - modified = frappe.utils.get_datetime(self.modified) - modified = system_timezone.localize(modified) + modified: datetime.datetime = get_datetime(self.modified).replace(tzinfo=system_timezone) expiry_utc = modified.astimezone(datetime.timezone.utc) + datetime.timedelta(seconds=self.expires_in) now_utc = datetime.datetime.now(datetime.timezone.utc) return cint((expiry_utc - now_utc).total_seconds())