chiark / gitweb /
Also support single non-all-day events
authorMatthew Vernon <mv3@sanger.ac.uk>
Fri, 5 Oct 2018 11:17:05 +0000 (12:17 +0100)
committerMatthew Vernon <mv3@sanger.ac.uk>
Fri, 5 Oct 2018 11:17:05 +0000 (12:17 +0100)
gooswapper.py

index b28e6a6b59b2e6111d311c1f6035858fe7d77384..274cd13cd47671fe3633fbf417a5af7c01dc233c 100644 (file)
@@ -105,11 +105,17 @@ def add_ex_to_gcal(ex_acct,
                    gcal_id="primary"):
     for ev_id in added:
         event = get_ex_event_by_itemid(ex_acct.calendar,ev_id)
-        if event.is_all_day:
+        if not event.is_recurring:
             gevent={}
             gevent["summary"]=event.subject
-            gevent["end"]={"date": str(event.end.astimezone(gcal_tz).date())}
-            gevent["start"]={"date": str(event.start.astimezone(gcal_tz).date())}
+            if event.is_all_day:
+                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()}
             if event.text_body.strip() != '':
                 gevent["description"] = event.text_body
             if event.location is not None: