summary outcome output

This commit is contained in:
2025-04-10 15:14:32 -07:00
parent 2573093694
commit 8a9fa7a954
+22 -3
View File
@@ -207,7 +207,14 @@ def update_gcal(scraped_events, tracks, cfg):
for e in scraped_events: for e in scraped_events:
events_by_track[e["tag_title"]].append(e) 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(): for track_name, events in events_by_track.items():
batch = service.new_batch_http_request() batch = service.new_batch_http_request()
track_gcal_id = gcal_map[track_name] track_gcal_id = gcal_map[track_name]
@@ -218,6 +225,7 @@ def update_gcal(scraped_events, tracks, cfg):
end = datetime.fromisoformat(e["end_calendar"]) end = datetime.fromisoformat(e["end_calendar"])
if start >= end: if start >= end:
action_taken_map["other"].append(e)
raise Exception((f"Event {e['title']} (uid: {ical_uid}) has an invalid duration, {start} -> {end}")) raise Exception((f"Event {e['title']} (uid: {ical_uid}) has an invalid duration, {start} -> {end}"))
e_content = { e_content = {
@@ -258,17 +266,20 @@ def update_gcal(scraped_events, tracks, cfg):
# if changes exist, update existing event # if changes exist, update existing event
if not changed: 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: else:
print(f"Updating event {e['title']} (ical: {ical_uid}/g: {g_e['id']})") 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) pprint.pp(jd.diff(g_content, e_content, syntax="symmetric"), depth=3)
action_taken_map["updated"].append(e)
# print(e_content) # print(e_content)
# print(g_content) # print(g_content)
g_e.update(gcal_body) 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 batchlen += 1
else: # if event is new, insert else: # if event is new, insert
print(f"Event {e['title']} (uid: {ical_uid}) seems to be new, adding...") 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() #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) batch.add(service.events().insert(calendarId=track_gcal_id, body=gcal_body), callback=batch_create_handler)
batchlen += 1 batchlen += 1
@@ -297,6 +308,7 @@ def update_gcal(scraped_events, tracks, cfg):
for event in gcal_events: for event in gcal_events:
if "iCalUID" not in event or event["iCalUID"] not in uids and event["status"] != "cancelled": if "iCalUID" not in event or event["iCalUID"] not in uids and event["status"] != "cancelled":
cal = gcalevent_gcal_map[event["id"]] cal = gcalevent_gcal_map[event["id"]]
action_taken_map["unchanged"].append(event)
print(f"gcal event g {event['id']} not in latest scrape, deleting...") print(f"gcal event g {event['id']} not in latest scrape, deleting...")
service.events().delete(calendarId=cal, eventId=event["id"]).execute() service.events().delete(calendarId=cal, eventId=event["id"]).execute()
@@ -304,6 +316,13 @@ def update_gcal(scraped_events, tracks, cfg):
except HttpError as error: except HttpError as error:
print(f"An error occurred: {error}") print(f"An error occurred: {error}")
print(gcal_body) 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): def clear_gcals(cfg):