# HG changeset patch # User Matti Hamalainen # Date 1467636431 -10800 # Node ID 1267d61f622485283e1ae5eb5da5e2a633d630b5 # Parent d32e4d4ef1638981e33cdf5e94ae5c168a7aed59 Add function for generating unique internal IDs. diff -r d32e4d4ef163 -r 1267d61f6224 multimerge.py --- a/multimerge.py Mon Jul 04 15:19:53 2016 +0300 +++ b/multimerge.py Mon Jul 04 15:47:11 2016 +0300 @@ -94,6 +94,16 @@ ev_end = event["end"].get("dateTime", event["end"].get("date")) gcm_print(u"{0:25} - {1:25} : {2}".format(ev_start, ev_end, event["summary"])) +def gcm_generate_ids(events, calendar_id): + if not events: + return events + + for ev in events: + ev["cal_id"] = calendar_id + ev["gcm_id"] = "{0}_{1}".format(calendar_id, ev["id"]) + + return events + ## ## Class for handling configuration / settings @@ -373,15 +383,9 @@ ).execute() # Add events, if any, to main list - events = result.get("items", []) + events = gcm_generate_ids(result.get("items", []), calendar["id"]) if events: - # Add calendar data to events - for ev in events: - ev["cal_id"] = calendar["id"] - ev["gcm_id"] = "{0}_{1}".format(calendar["id"], ev["id"]) - src_events.extend(events) - if cfg.debug: gcm_dump_events(events) @@ -393,7 +397,7 @@ singleEvents=True, showDeleted=True).execute() -dst_events = result.get("items", []) +dst_events = gcm_generate_ids(result.get("items", []), cfg.dest_id) if dst_events: gcm_debug(u"Found {0} event(s).".format(len(dst_events))) else: