From 871415a45ff7c74c850313f342daa7468940644e Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 19 Oct 2022 10:40:43 +0530 Subject: [PATCH] fix: google calendar sync times (system tz) (#18458) (#18459) * fix: google calendar sync times (system tz) * added line breaks to excessively long bit * (chore) linter appeasement * chore: linting [skip ci] (cherry picked from commit 36761880838280ee7efdf6a0670771d484fb5be2) Co-authored-by: PeterG --- .../google_calendar/google_calendar.py | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/frappe/integrations/doctype/google_calendar/google_calendar.py b/frappe/integrations/doctype/google_calendar/google_calendar.py index 9f9aca1123..a4218af9e6 100644 --- a/frappe/integrations/doctype/google_calendar/google_calendar.py +++ b/frappe/integrations/doctype/google_calendar/google_calendar.py @@ -4,6 +4,7 @@ from datetime import datetime, timedelta from urllib.parse import quote +from zoneinfo import ZoneInfo import google.oauth2.credentials import requests @@ -515,12 +516,20 @@ def google_calendar_to_repeat_on(start, end, recurrence=None): Both have been mapped in a dict for easier mapping. """ repeat_on = { - "starts_on": get_datetime(start.get("date")) - if start.get("date") - else parser.parse(start.get("dateTime")).astimezone().replace(tzinfo=None), - "ends_on": get_datetime(end.get("date")) - if end.get("date") - else parser.parse(end.get("dateTime")).astimezone().replace(tzinfo=None), + "starts_on": ( + get_datetime(start.get("date")) + if start.get("date") + else parser.parse(start.get("dateTime")) + .astimezone(ZoneInfo(get_time_zone())) + .replace(tzinfo=None) + ), + "ends_on": ( + get_datetime(end.get("date")) + if end.get("date") + else parser.parse(end.get("dateTime")) + .astimezone(ZoneInfo(get_time_zone())) + .replace(tzinfo=None) + ), "all_day": 1 if start.get("date") else 0, "repeat_this_event": 1 if recurrence else 0, "repeat_on": None,