Я создал скрипт на 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)
Просто не хочет искать имя: (