Проверка существования Календаря Google с помощью python - PullRequest
1 голос
/ 06 июля 2019

Я создал скрипт на python, который анализирует файлы ICS и затем загружает его в Google.Работает нормально, хотя и не очень умно.Теперь он просто удаляет все события и вставляет новые события.Это сделано потому, что файл ICS регенерируется каждые 2 часа и каждый раз имеет новый идентификатор.Итак, что я пытаюсь сделать, это посмотреть, совпадает ли уже имя события + dateTime с тем, что находится в сети.

Если он в сети, он должен посмотреть, нужно ли ему обновление, если событие в файле ICS не в сети, оноследует вставить его, если событие в сети, но больше не находится в файле ICS, оно должно удалить его из google

Я пробовал разные типы циклов, но ни один из них не работал до сих пор (слишком много, чтобы записать здесь)

    gcal_events_result = service.events().list(calendarId=calendar_id, singleEvents=True, orderBy='startTime').execute()
    gcal_events = gcal_events_result.get('items', [])

    if not gcal_events:
        print('No upcoming events found.')
        for event in events:
            try:
                time.sleep(API_SLEEP_TIME)
                service.events().insert(calendarId=calendar_id, body=event).execute()
            except:
                pass
    else:
        print('verwijderen')
        for gcal_event in gcal_events:
            for event in events:
                eid = gcal_event['id']
                gname = gcal_event['summary'] + gcal_event['start']['dateTime']
                iname = event['summary'] + event['start']['dateTime']
                if gname in iname:
                    print('now it should update/insert the event')
                else:
                    print('now it should remove the event since it is not in the ICS file anymore')
                (cut for better readability)

Просто не хочет искать имя: (

...