in ees_microsoft_teams/microsoft_teams_calendars.py [0:0]
def get_calendar_detail(self, attendees, calendar):
"""This method is used to fetch the calendar details for creating body in the workplace
:param attendees: All the attendees seprated by comma
:param calendar: Dictionary of event details
Returns: body: body with event details which going to be indexed in Workplace Search
"""
body = ''
if calendar['recurrence']:
range = calendar['recurrence']['range']
pattern = calendar['recurrence']['pattern']
occurrence = f"{pattern['interval']}" if pattern['interval'] else ""
# In case type of meeting is daily so body will be: Recurrence: Occurs every 1 day starting {startdate}
# until {enddate}
if pattern['type'] == 'daily':
days = f"{occurrence} day"
# If type of meeting is yearly so body will be: Recurrence: Occurs every year on day 5 of march starting
# {date} until {enddate}
elif pattern['type'] in ['absoluteYearly', 'relativeYearly']:
day_pattern = f"on day {pattern['dayOfMonth']}" if pattern['dayOfMonth'] else "on " \
f"{pattern['index']} {','.join(pattern['daysOfWeek'])}"
days = f"year {day_pattern} of {month_name[pattern['month']]}"
# If type of meeting is monthly so body will be: Recurrence: Occurs every month on day 5 of march
# starting {date} until {enddate}
elif pattern['type'] in ['absoluteMonthly', 'relativeMonthly']:
days_pattern = f"on day {pattern['dayOfMonth']}" if pattern['dayOfMonth'] else f"on " \
f"{pattern['index']} {','.join(pattern['daysOfWeek'])}"
days = f"{occurrence} month {days_pattern}"
# Else goes in weekly situation where body will be: Recurrence: Occurs Every 3 week on monday,tuesday,
# wednesday starting {date} until {enddate}
else:
week = ','.join(pattern['daysOfWeek'])
days = f"{occurrence} week on {week}"
date = f"{range['startDate']}" if range['type'] == 'noEnd' else f"{range['startDate']} until " \
f"{range['endDate']}"
recurrance = f"Occurs Every {days} starting {date}"
body = f'Recurrence: {recurrance} \nOrganizer: {calendar["organizer"]["emailAddress"]["name"]} ' \
f'\nAttendees: {attendees} \nDescription: {calendar["bodyPreview"]}'
else:
start_time = datetime.strptime(calendar["start"]["dateTime"][: -4], USER_MEETING_DATETIME_FORMAT).strftime(
"%d %b, %Y at %H:%M")
end_time = datetime.strptime(calendar["end"]["dateTime"][: -4], USER_MEETING_DATETIME_FORMAT).strftime(
"%d %b, %Y at %H:%M")
body = f'Schedule: {start_time} to {end_time} \nOrganizer: ' \
f'{calendar["organizer"]["emailAddress"]["name"]} \nAttendees: {attendees} \nDescription: ' \
f'{calendar["bodyPreview"]}'
return body