Я создаю dict obj и отправляю его в календарь Google, как и в собственном примере Google в их документации по API. Я читаю базу данных mssql, а затем создаю CSV-файл результатов. Затем я использую информацию cdv для записи событий.
Фрагменты моего кода.
def count_leaveduration(sdate, fdate):
try:
date_format = "%Y.%m.%d"
cmp_sdate = datetime.strptime(sdate, date_format)
cmp_fdate = datetime.strptime(fdate, date_format)
delta = cmp_fdate - cmp_sdate
return delta.days, cmp_sdate, cmp_fdate
except Exception as e:
input_logging('error', 'Cannot Count Leave Duration - Exception: %s' % e)
duration, sdate, fdate = count_leaveduration(line['FIRSTDAYOFABSENCE'], line['LASTDAYOFABSENCE'])
event['summary'] = '%s - Leave' % line['NAME1']
event['location'] = 'Out Of Office'
# date type here instead because all day event for duration.
event['start'] = {'date': '%s' % sdate.strftime('%Y-%m-%d')}
event['end'] = {'date': '%s' % fdate.strftime('%Y-%m-%d')}
event['attendees'] = [{'email': line['ELECTRONICMAILADDRESS']}]
appbuildobj.events().insert(calendarId=robj, body=event).execute()
Записи в целом работают нормально, но если продолжительность превышает один день, кажется, что выходной день в записи календаря прерывается, даже если дата должна быть датой окончания, которая представлена в списке событий календаря. Конечно, обходной путь заключается в том, чтобы сделать что-то вроде этого: -
fdate = fdate + timedelta(days=1)
Тем не менее, я хотел бы знать, знает ли кто-нибудь причину этого?