summary outcome output
This commit is contained in:
@@ -207,7 +207,14 @@ def update_gcal(scraped_events, tracks, cfg):
|
||||
for e in scraped_events:
|
||||
events_by_track[e["tag_title"]].append(e)
|
||||
|
||||
|
||||
|
||||
action_taken_map = {
|
||||
"added": [],
|
||||
"updated": [],
|
||||
"deleted": [],
|
||||
"unchanged": [],
|
||||
"other": [],
|
||||
}
|
||||
for track_name, events in events_by_track.items():
|
||||
batch = service.new_batch_http_request()
|
||||
track_gcal_id = gcal_map[track_name]
|
||||
@@ -218,6 +225,7 @@ def update_gcal(scraped_events, tracks, cfg):
|
||||
end = datetime.fromisoformat(e["end_calendar"])
|
||||
|
||||
if start >= end:
|
||||
action_taken_map["other"].append(e)
|
||||
raise Exception((f"Event {e['title']} (uid: {ical_uid}) has an invalid duration, {start} -> {end}"))
|
||||
|
||||
e_content = {
|
||||
@@ -258,17 +266,20 @@ def update_gcal(scraped_events, tracks, cfg):
|
||||
|
||||
# if changes exist, update existing event
|
||||
if not changed:
|
||||
print(f"Event {e['title']} (uid: {ical_uid}) seems to be the same, leaving as is")
|
||||
action_taken_map["unchanged"].append(e)
|
||||
#print(f"Event {e['title']} (uid: {ical_uid}) seems to be the same, leaving as is")
|
||||
else:
|
||||
print(f"Updating event {e['title']} (ical: {ical_uid}/g: {g_e['id']})")
|
||||
pprint.pp(jd.diff(g_content, e_content, syntax="symmetric"), depth=3)
|
||||
action_taken_map["updated"].append(e)
|
||||
# print(e_content)
|
||||
# print(g_content)
|
||||
g_e.update(gcal_body)
|
||||
batch.add(service.events().patch(calendarId=track_gcal_id, eventId=g_e["id"], body=g_e), callback=batch_exception_handler)
|
||||
batch.add(service.events().update(calendarId=track_gcal_id, eventId=g_e["id"], body=g_e), callback=batch_exception_handler)
|
||||
batchlen += 1
|
||||
else: # if event is new, insert
|
||||
print(f"Event {e['title']} (uid: {ical_uid}) seems to be new, adding...")
|
||||
action_taken_map["added"].append(e)
|
||||
#service.events().insert(calendarId=track_gcal_id, body=gcal_body).execute()
|
||||
batch.add(service.events().insert(calendarId=track_gcal_id, body=gcal_body), callback=batch_create_handler)
|
||||
batchlen += 1
|
||||
@@ -297,6 +308,7 @@ def update_gcal(scraped_events, tracks, cfg):
|
||||
for event in gcal_events:
|
||||
if "iCalUID" not in event or event["iCalUID"] not in uids and event["status"] != "cancelled":
|
||||
cal = gcalevent_gcal_map[event["id"]]
|
||||
action_taken_map["unchanged"].append(event)
|
||||
print(f"gcal event g {event['id']} not in latest scrape, deleting...")
|
||||
|
||||
service.events().delete(calendarId=cal, eventId=event["id"]).execute()
|
||||
@@ -304,6 +316,13 @@ def update_gcal(scraped_events, tracks, cfg):
|
||||
except HttpError as error:
|
||||
print(f"An error occurred: {error}")
|
||||
print(gcal_body)
|
||||
|
||||
print("-------------------------")
|
||||
print("Summary:")
|
||||
summary_map = {}
|
||||
for k,v in action_taken_map.items():
|
||||
summary_map[k] = len(v)
|
||||
pprint.pp(summary_map, indent=2)
|
||||
|
||||
|
||||
def clear_gcals(cfg):
|
||||
|
||||
Reference in New Issue
Block a user