def notion_update_event(notion_event, event): n_date = None # date - x - All day event # date - date - Many days event` # datetime - x - Not impossible with google events # datetime - datetime - regular n_date = NotionDate( convert_datetime_timezone(event["start"], 'UTC', event['timezone'])) n_date.end = convert_datetime_timezone(event["end"], 'UTC', event['timezone']) n_date.timezone = event["timezone"] try: notion_event.name = event["title"] setattr(notion_event, notion_date_prop, n_date) # setattr(notion_event, notion_cal_prop, event["calendar"]) print(f"[{datetime.datetime.now()}] N UPDATE DONE {event['title']}") except Exception as e: print(f"[{datetime.datetime.now()}] | {str(inspect.stack()[0][3])} " + str(e)) return None return notion_event
def notion_add_event(notion_client, google_client, event): n_date = NotionDate( convert_datetime_timezone(event["start"], 'UTC', event['timezone'])) n_date.end = convert_datetime_timezone(event["end"], 'UTC', event['timezone']) n_date.timezone = event["timezone"] try: notion_event = notion_client.collection.add_row() notion_event.name = event["title"] setattr(notion_event, notion_date_prop, n_date) # setattr(notion_event, notion_cal_prop, event["calendar"]) print(f"[{datetime.datetime.now()}] N ADD DONE {event['title']}") except Exception as e: print(f"[{datetime.datetime.now()}] | {str(inspect.stack()[0][3])} " + str(e)) return None try: nevent_id = str(notion_event.id.replace("-", "00a00")) event_body = google_client.events().get( calendarId=google_calendar_ids[event["calendar"]], eventId=event["id"]).execute() except Exception as e: print(f"[{datetime.datetime.now()}] | {str(inspect.stack()[0][3])} " + str(e)) return None event_body["id"] = nevent_id del event_body["iCalUID"] if 'recurringEventId' in event_body: del event_body['recurringEventId'] try: google_client.events().delete( calendarId=google_calendar_ids[event["calendar"]], eventId=event["id"]).execute() event_body_new = google_client.events().insert( calendarId=google_calendar_ids[event["calendar"]], body=event_body).execute() print( f"[{datetime.datetime.now()}] N ADD (G ID) DONE {event['title']}") except Exception as e: # notion_delete_event(notion_event) print(f"[{datetime.datetime.now()}] | {str(inspect.stack()[0][3])} " + str(e)) return None return notion_event