in connectors/sources/outlook.py [0:0]
def calendar_doc_formatter(self, calendar, child_calendar, timezone):
document = {
"_id": calendar.id,
"_timestamp": ews_format_to_datetime(
source_datetime=calendar.last_modified_time, timezone=timezone
),
"type": "Calendar",
"title": calendar.subject,
"meeting_type": "Single"
if calendar.type == "Single"
else f"Recurring {calendar.recurrence.pattern}",
"organizer": calendar.organizer.email_address,
}
if child_calendar in ["Folder (Birthdays)", "Birthdays (Birthdays)"]:
document.update(
{
"date": ews_format_to_datetime(
source_datetime=calendar.start, timezone=timezone
).split("T", 1)[0],
}
)
else:
document.update(
{
"attendees": [
attendee.mailbox.email_address
for attendee in (calendar.required_attendees or [])
if attendee.mailbox.email_address
],
"start_date": ews_format_to_datetime(
source_datetime=calendar.start, timezone=timezone
),
"end_date": ews_format_to_datetime(
source_datetime=calendar.end, timezone=timezone
),
"location": calendar.location,
"content": html_to_text(html=calendar.body),
}
)
return document