events[event.item_id] = events[event.item_id]._replace(changekey=event.changekey)
else:
logger.warning("only all-day events supported")
-
+
+def del_ex_to_gcal(ex_acct, gcal_acct, events, deleted, gcal_id="primary"):
+ for ev_id in deleted:
+ if events[ev_id].gcal_link is not None:
+ gcal_acct.events().delete(calendarId=gcal_id,
+ eventId=events[ev_id].gcal_link,
+ sendUpdates="none").execute()
+
def get_gcal_cred():
#each such file can only store a single credential
storage = oauth2client.file.Storage(gcal_authpath)
if cache is not None:
added,deleted,changed = ex_event_changes(cache,current)
add_ex_to_gcal(ex_account,gcal_account,gcal_tz,current,added)
+ #delete op needs the "cache" set, as that has the link ids in
+ #for events that are now deleted
+ del_ex_to_gcal(ex_account,gcal_account,cache,deleted)
with open(cachepath,"wb") as f:
pickle.dump(current,f)