From: Matthew Vernon Date: Fri, 5 Oct 2018 10:22:37 +0000 (+0100) Subject: delete linked events X-Git-Tag: v0.1~33 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~matthewv/git?a=commitdiff_plain;h=60c7a2851e1ca6aa1c43c4893d9ec63aa5b2256b;p=gooswapper delete linked events --- 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)