def to_api_data(self):
        """ Returns a dict to communicate with the server

        :rtype: dict
        """
        data = {}
        # recurrence pattern
        if self.__interval and isinstance(self.__interval, int):
            recurrence_pattern = data[self._cc('pattern')] = {}
            recurrence_pattern[self._cc('type')] = 'daily'
            recurrence_pattern[self._cc('interval')] = self.__interval
            if self.__days_of_week and isinstance(self.__days_of_week,
                                                  (list, tuple, set)):
                recurrence_pattern[self._cc('type')] = 'relativeMonthly'
                recurrence_pattern[self._cc('daysOfWeek')] = list(
                    self.__days_of_week)
                if self.__first_day_of_week:
                    recurrence_pattern[self._cc('type')] = 'weekly'
                    recurrence_pattern[
                        self._cc('firstDayOfWeek')] = self.__first_day_of_week
                elif self.__month and isinstance(self.__month, int):
                    recurrence_pattern[self._cc('type')] = 'relativeYearly'
                    recurrence_pattern[self._cc('month')] = self.__month
                    if self.__index:
                        recurrence_pattern[self._cc('index')] = self.__index
                else:
                    if self.__index:
                        recurrence_pattern[self._cc('index')] = self.__index

            elif self.__day_of_month and isinstance(self.__day_of_month, int):
                recurrence_pattern[self._cc('type')] = 'absoluteMonthly'
                recurrence_pattern[self._cc('dayOfMonth')] = self.__day_of_month
                if self.__month and isinstance(self.__month, int):
                    recurrence_pattern[self._cc('type')] = 'absoluteYearly'
                    recurrence_pattern[self._cc('month')] = self.__month

        # recurrence range
        if self.__start_date:
            recurrence_range = data[self._cc('range')] = {}
            recurrence_range[self._cc('type')] = 'noEnd'
            recurrence_range[
                self._cc('startDate')] = self.__start_date.isoformat()
            recurrence_range[
                self._cc('recurrenceTimeZone')] = self.__recurrence_time_zone

            if self.__end_date:
                recurrence_range[self._cc('type')] = 'endDate'
                recurrence_range[
                    self._cc('endDate')] = self.__end_date.isoformat()
            elif self.__occurrences is not None and isinstance(
                    self.__occurrences,
                    int):
                recurrence_range[self._cc('type')] = 'numbered'
                recurrence_range[
                    self._cc('numberOfOccurrences')] = self.__occurrences

        return data
def to_api_data ( self ) : data = { } if self . __interval and isinstance ( self . __interval , int ) : recurrence_pattern = data [ self . _cc ( 'pattern' ) ] = { } recurrence_pattern [ self . _cc ( 'type' ) ] = 'daily' recurrence_pattern [ self . _cc ( 'interval' ) ] = self . __interval if self . __days_of_week and isinstance ( self . __days_of_week , ( list , tuple , set ) ) : recurrence_pattern [ self . _cc ( 'type' ) ] = 'relativeMonthly' recurrence_pattern [ self . _cc ( 'daysOfWeek' ) ] = list ( self . __days_of_week ) if self . __first_day_of_week : recurrence_pattern [ self . _cc ( 'type' ) ] = 'weekly' recurrence_pattern [ self . _cc ( 'firstDayOfWeek' ) ] = self . __first_day_of_week elif self . __month and isinstance ( self . __month , int ) : recurrence_pattern [ self . _cc ( 'type' ) ] = 'relativeYearly' recurrence_pattern [ self . _cc ( 'month' ) ] = self . __month if self . __index : recurrence_pattern [ self . _cc ( 'index' ) ] = self . __index else : if self . __index : recurrence_pattern [ self . _cc ( 'index' ) ] = self . __index elif self . __day_of_month and isinstance ( self . __day_of_month , int ) : recurrence_pattern [ self . _cc ( 'type' ) ] = 'absoluteMonthly' recurrence_pattern [ self . _cc ( 'dayOfMonth' ) ] = self . __day_of_month if self . __month and isinstance ( self . __month , int ) : recurrence_pattern [ self . _cc ( 'type' ) ] = 'absoluteYearly' recurrence_pattern [ self . _cc ( 'month' ) ] = self . __month if self . __start_date : recurrence_range = data [ self . _cc ( 'range' ) ] = { } recurrence_range [ self . _cc ( 'type' ) ] = 'noEnd' recurrence_range [ self . _cc ( 'startDate' ) ] = self . __start_date . isoformat ( ) recurrence_range [ self . _cc ( 'recurrenceTimeZone' ) ] = self . __recurrence_time_zone if self . __end_date : recurrence_range [ self . _cc ( 'type' ) ] = 'endDate' recurrence_range [ self . _cc ( 'endDate' ) ] = self . __end_date . isoformat ( ) elif self . __occurrences is not None and isinstance ( self . __occurrences , int ) : recurrence_range [ self . _cc ( 'type' ) ] = 'numbered' recurrence_range [ self . _cc ( 'numberOfOccurrences' ) ] = self . __occurrences return data
Returns a dict to communicate with the server

        :rtype: dict