comparison multimerge.py @ 105:481cfea49e19

Update counters only per successful operation.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 17 Oct 2016 15:16:15 +0300
parents f6274227114b
children 205767356d2c f3949e4aca4b
comparison
equal deleted inserted replaced
104:f6274227114b 105:481cfea49e19
576 # Check if event NEEDS updating .. aka compare data 576 # Check if event NEEDS updating .. aka compare data
577 gcm_debug(4, u"Event {0} [{1}] exists, checking ..".format(event["id"], event["gcm_id"])) 577 gcm_debug(4, u"Event {0} [{1}] exists, checking ..".format(event["id"], event["gcm_id"]))
578 d_event = gcm_get_event_by_gcm_id(dst_events, event["gcm_id"]) 578 d_event = gcm_get_event_by_gcm_id(dst_events, event["gcm_id"])
579 if not gcm_compare_events(event, d_event): 579 if not gcm_compare_events(event, d_event):
580 # Seems we need to update 580 # Seems we need to update
581 evn_updated += 1
582 gcm_debug(4, u"Updating event {0} [{1}]".format(event["id"], event["gcm_id"])) 581 gcm_debug(4, u"Updating event {0} [{1}]".format(event["id"], event["gcm_id"]))
583 try: 582 try:
584 event.pop("sequence", None) 583 event.pop("sequence", None)
585 event.pop("id", None) 584 event.pop("id", None)
586 event["iCalUID"] = event["gcm_id"] 585 event["iCalUID"] = event["gcm_id"]
587 new_event = service.events().update(calendarId=cfg.dst_id, eventId=d_event["id"], body=event).execute() 586 new_event = service.events().update(calendarId=cfg.dst_id, eventId=d_event["id"], body=event).execute()
587 evn_updated += 1
588 except Exception as e: 588 except Exception as e:
589 gcm_fatal(u"Failed to update event {0} [{1}]:\n\n{2}\n\nERROR: {3}\n".format(event["id"], event["gcm_id"], event, str(e))) 589 gcm_fatal(u"Failed to update event {0} [{1}]:\n\n{2}\n\nERROR: {3}\n".format(event["id"], event["gcm_id"], event, str(e)))
590 else: 590 else:
591 evn_unchanged += 1 591 evn_unchanged += 1
592 gcm_debug(4, u"No need to update event {0} [{1}]".format(event["id"], event["gcm_id"])) 592 gcm_debug(4, u"No need to update event {0} [{1}]".format(event["id"], event["gcm_id"]))
593 elif event["status"] != u"cancelled": 593 elif event["status"] != u"cancelled":
594 ## Event does not seem to exist. Insert new event. 594 ## Event does not seem to exist. Insert new event.
595 evn_new += 1
596 gcm_debug(4, u"Inserting new event {0} [{1}]".format(event["id"], event["gcm_id"])) 595 gcm_debug(4, u"Inserting new event {0} [{1}]".format(event["id"], event["gcm_id"]))
597 event.pop("id", None) 596 event.pop("id", None)
598 event["iCalUID"] = event["gcm_id"] # Replace Google generated ID with our own 597 event["iCalUID"] = event["gcm_id"] # Replace Google generated ID with our own
599 try: 598 try:
600 new_event = service.events().insert(calendarId=cfg.dst_id, body=event).execute() 599 new_event = service.events().insert(calendarId=cfg.dst_id, body=event).execute()
600 evn_new += 1
601 except Exception as e: 601 except Exception as e:
602 gcm_fatal(u"Failed to insert new event:\n\n{0}\n\nERROR: {1}\n".format(event, str(e))) 602 gcm_fatal(u"Failed to insert new event:\n\n{0}\n\nERROR: {1}\n".format(event, str(e)))
603 603
604 gcm_debug(3, "{0} new events, {1} updated, {2} unchanged.".format(evn_new, evn_updated, evn_unchanged)) 604 gcm_debug(3, "{0} new events, {1} updated, {2} unchanged.".format(evn_new, evn_updated, evn_unchanged))
605 605