Mercurial > hg > gcmultimerge
comparison multimerge.py @ 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 |
comparison
equal
deleted
inserted
replaced
25:d32e4d4ef163 | 26:1267d61f6224 |
---|---|
92 for event in events: | 92 for event in events: |
93 ev_start = event["start"].get("dateTime", event["start"].get("date")) | 93 ev_start = event["start"].get("dateTime", event["start"].get("date")) |
94 ev_end = event["end"].get("dateTime", event["end"].get("date")) | 94 ev_end = event["end"].get("dateTime", event["end"].get("date")) |
95 gcm_print(u"{0:25} - {1:25} : {2}".format(ev_start, ev_end, event["summary"])) | 95 gcm_print(u"{0:25} - {1:25} : {2}".format(ev_start, ev_end, event["summary"])) |
96 | 96 |
97 def gcm_generate_ids(events, calendar_id): | |
98 if not events: | |
99 return events | |
100 | |
101 for ev in events: | |
102 ev["cal_id"] = calendar_id | |
103 ev["gcm_id"] = "{0}_{1}".format(calendar_id, ev["id"]) | |
104 | |
105 return events | |
106 | |
97 | 107 |
98 ## | 108 ## |
99 ## Class for handling configuration / settings | 109 ## Class for handling configuration / settings |
100 ## | 110 ## |
101 class GCMSettings(dict): | 111 class GCMSettings(dict): |
371 showDeleted=False, | 381 showDeleted=False, |
372 # orderBy="startTime", | 382 # orderBy="startTime", |
373 ).execute() | 383 ).execute() |
374 | 384 |
375 # Add events, if any, to main list | 385 # Add events, if any, to main list |
376 events = result.get("items", []) | 386 events = gcm_generate_ids(result.get("items", []), calendar["id"]) |
377 if events: | 387 if events: |
378 # Add calendar data to events | |
379 for ev in events: | |
380 ev["cal_id"] = calendar["id"] | |
381 ev["gcm_id"] = "{0}_{1}".format(calendar["id"], ev["id"]) | |
382 | |
383 src_events.extend(events) | 388 src_events.extend(events) |
384 | |
385 if cfg.debug: | 389 if cfg.debug: |
386 gcm_dump_events(events) | 390 gcm_dump_events(events) |
387 | 391 |
388 | 392 |
389 ## Get current events | 393 ## Get current events |
391 result = service.events().list( | 395 result = service.events().list( |
392 calendarId=cfg.dest_id, | 396 calendarId=cfg.dest_id, |
393 singleEvents=True, | 397 singleEvents=True, |
394 showDeleted=True).execute() | 398 showDeleted=True).execute() |
395 | 399 |
396 dst_events = result.get("items", []) | 400 dst_events = gcm_generate_ids(result.get("items", []), cfg.dest_id) |
397 if dst_events: | 401 if dst_events: |
398 gcm_debug(u"Found {0} event(s).".format(len(dst_events))) | 402 gcm_debug(u"Found {0} event(s).".format(len(dst_events))) |
399 else: | 403 else: |
400 gcm_debug(u"No current events.") | 404 gcm_debug(u"No current events.") |
401 | 405 |