changeset 26:1267d61f6224

Add function for generating unique internal IDs.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 04 Jul 2016 15:47:11 +0300
parents d32e4d4ef163
children 824c3e5c6757
files multimerge.py
diffstat 1 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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: