From 60c7a2851e1ca6aa1c43c4893d9ec63aa5b2256b Mon Sep 17 00:00:00 2001 From: Matthew Vernon Date: Fri, 5 Oct 2018 11:22:37 +0100 Subject: [PATCH] delete linked events --- gooswapper.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gooswapper.py b/gooswapper.py index f57318c..31c46e1 100644 --- a/gooswapper.py +++ b/gooswapper.py @@ -124,7 +124,14 @@ def add_ex_to_gcal(ex_acct, 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) @@ -165,6 +172,9 @@ def main(): 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) -- 2.30.2