Exemplo n.º 1
0
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
Exemplo n.º 2
0
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