fix: Usage of tzinfo replace when no tz is specified

This commit is contained in:
Gavin D'souza 2024-10-17 14:57:14 +02:00 committed by Akhil Narang
parent c6580b5880
commit 7e2e5f80b9
No known key found for this signature in database
GPG key ID: 9DCC61E211BF645F
2 changed files with 3 additions and 4 deletions

View file

@ -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)

View file

@ -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())