summary outcome output

This commit is contained in:
2025-04-10 15:14:32 -07:00
parent 2573093694
commit 8a9fa7a954
+21 -2
View File
@@ -208,6 +208,13 @@ def update_gcal(scraped_events, tracks, cfg):
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()
@@ -305,6 +317,13 @@ def update_gcal(scraped_events, tracks, cfg):
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):
SCOPES = ["https://www.googleapis.com/auth/calendar.events"]