Mercurial > hg > gcmultimerge
comparison multimerge.py @ 81:ce02c0c00e64
Add debug information about how many events were new, updated or unchanged.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 13 Jul 2016 14:14:10 +0300 |
parents | 4bed40e35fae |
children | 16edb168daa1 |
comparison
equal
deleted
inserted
replaced
80:4bed40e35fae | 81:ce02c0c00e64 |
---|---|
544 ## Start merging events .. | 544 ## Start merging events .. |
545 gcm_debug(3, u"Re-merging events to target calendar ..") | 545 gcm_debug(3, u"Re-merging events to target calendar ..") |
546 dst_ids = frozenset(map(lambda x: x["gcm_id"], dst_events)) | 546 dst_ids = frozenset(map(lambda x: x["gcm_id"], dst_events)) |
547 src_ids = frozenset(map(lambda x: x["gcm_id"], src_events)) | 547 src_ids = frozenset(map(lambda x: x["gcm_id"], src_events)) |
548 | 548 |
549 evn_new = evn_updated = evn_unchanged = 0 | |
550 | |
549 for event in src_events: | 551 for event in src_events: |
550 # Does the event exist already in the target? | 552 # Does the event exist already in the target? |
551 if event["gcm_id"] in dst_ids: | 553 if event["gcm_id"] in dst_ids: |
552 # Check if event NEEDS updating .. aka compare data | 554 # Check if event NEEDS updating .. aka compare data |
553 gcm_debug(4, u"Event {0} : {1} exists, checking ..".format(event["id"], event["gcm_id"])) | 555 gcm_debug(4, u"Event {0} : {1} exists, checking ..".format(event["id"], event["gcm_id"])) |
554 d_event = gcm_get_event_by_gcm_id(dst_events, event["gcm_id"]) | 556 d_event = gcm_get_event_by_gcm_id(dst_events, event["gcm_id"]) |
555 if not gcm_compare_events(event, d_event): | 557 if not gcm_compare_events(event, d_event): |
556 # Seems we need to update | 558 # Seems we need to update |
559 evn_updated += 1 | |
557 gcm_debug(4, u"Updating event {0} : {1}..".format(event["id"], event["gcm_id"])) | 560 gcm_debug(4, u"Updating event {0} : {1}..".format(event["id"], event["gcm_id"])) |
558 try: | 561 try: |
559 event.pop("sequence", None) | 562 event.pop("sequence", None) |
560 event.pop("id", None) | 563 event.pop("id", None) |
561 event["iCalUID"] = event["gcm_id"] | 564 event["iCalUID"] = event["gcm_id"] |
562 new_event = service.events().update(calendarId=cfg.dest_id, eventId=d_event["id"], body=event).execute() | 565 new_event = service.events().update(calendarId=cfg.dest_id, eventId=d_event["id"], body=event).execute() |
563 except Exception as e: | 566 except Exception as e: |
564 gcm_fatal(u"Failed to update event {0}:\n\n{1}\n\nERROR: {2}\n".format(event["gcm_id"], event, str(e))) | 567 gcm_fatal(u"Failed to update event {0}:\n\n{1}\n\nERROR: {2}\n".format(event["gcm_id"], event, str(e))) |
565 else: | 568 else: |
569 evn_unchanged += 1 | |
566 gcm_debug(4, u"No need to update event {0} : {1}.".format(event["id"], event["gcm_id"])) | 570 gcm_debug(4, u"No need to update event {0} : {1}.".format(event["id"], event["gcm_id"])) |
567 else: | 571 else: |
568 ## Event does not seem to exist. Insert new event. | 572 ## Event does not seem to exist. Insert new event. |
569 gcm_debug(4, u"Inserting new event {0}".format(event["gcm_id"])) | 573 gcm_debug(4, u"Inserting new event {0}".format(event["gcm_id"])) |
574 evn_new += 1 | |
570 event.pop("id", None) | 575 event.pop("id", None) |
571 event["iCalUID"] = event["gcm_id"] # Replace Google generated ID with our own | 576 event["iCalUID"] = event["gcm_id"] # Replace Google generated ID with our own |
572 try: | 577 try: |
573 new_event = service.events().insert(calendarId=cfg.dest_id, body=event).execute() | 578 new_event = service.events().insert(calendarId=cfg.dest_id, body=event).execute() |
574 except Exception as e: | 579 except Exception as e: |
575 gcm_fatal(u"Failed to insert new event:\n\n{0}\n\nERROR: {1}\n".format(event, str(e))) | 580 gcm_fatal(u"Failed to insert new event:\n\n{0}\n\nERROR: {1}\n".format(event, str(e))) |
581 | |
582 gcm_debug(3, "{0} new events, {1} updated, {2} unchanged.".format(evn_new, evn_updated, evn_unchanged)) | |
576 | 583 |
577 | 584 |
578 ## Remove "stale" events | 585 ## Remove "stale" events |
579 gcm_debug(3, u"Purging stale events ..") | 586 gcm_debug(3, u"Purging stale events ..") |
580 for event in dst_events: | 587 for event in dst_events: |