def get_calendar_detail()

in connectors/sources/microsoft_teams.py [0:0]


    def get_calendar_detail(self, calendar):
        body = ""
        organizer = calendar.get("organizer", {}).get("emailAddress").get("name")
        calendar_recurrence = calendar.get("recurrence")
        if calendar_recurrence:
            recurrence_range = calendar_recurrence.get("range")
            pattern = calendar_recurrence.get("pattern")
            occurrence = f"{pattern['interval']}" if pattern.get("interval") else ""
            pattern_type = pattern.get("type", "")

            # 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.get("dayOfMonth")
                    else f"on {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.get("dayOfMonth")
                    else f"on {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.get("daysOfWeek"))
                days = f"{occurrence} week on {week}"

            date = (
                f"{recurrence_range.get('startDate')}"
                if recurrence_range.get("type", "") == "noEnd"
                else f"{recurrence_range.get('startDate')} until {recurrence_range.get('endDate')}"
            )
            recurrence = f"Occurs Every {days} starting {date}"
            body = f"Recurrence: {recurrence} Organizer: {organizer}"

        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} Organizer: {organizer}"
        return body