chiark / gitweb /
Make start and end times be rendered in target timezone
authorMatthew Vernon <mv3@sanger.ac.uk>
Wed, 17 Oct 2018 16:03:24 +0000 (17:03 +0100)
committerMatthew Vernon <mv3@sanger.ac.uk>
Wed, 17 Oct 2018 16:03:24 +0000 (17:03 +0100)
This is consistent with how we were handling all-day events
previously, and means that recurring events work round DST changes
better.

gooswapper.py

index 6e1598bbe43dd159b63c79ef52645a5480fc17a4..1b9b4aa91fbeffb564de1bf6b5705bf1c866bbaf 100644 (file)
@@ -132,10 +132,10 @@ def build_gcal_event_from_ex(event,gcal_tz):
         gevent["end"]={"date": str(event.end.astimezone(gcal_tz).date())}
         gevent["start"]={"date": str(event.start.astimezone(gcal_tz).date())}
     else:
-        gevent["end"]={"dateTime": event.end.isoformat(),
-                       "timeZone": event.end.tzname()}
-        gevent["start"]={"dateTime": event.start.isoformat(),
-                         "timeZone": event.start.tzname()}
+        gevent["end"]={"dateTime": event.end.astimezone(gcal_tz).isoformat(),
+                       "timeZone": str(gcal_tz)}
+        gevent["start"]={"dateTime": event.start.astimezone(gcal_tz).isoformat(),
+                         "timeZone": str(gcal_tz)}
     if event.text_body is not None and event.text_body.strip() != '':
         gevent["description"] = event.text_body
     if event.location is not None: