Ejemplo n.º 1
0
def _blackout_to_json(event):
    return {
        'classificationType':
        get_classification_name(event.classificationType),
        'comment':
        event.comment,
        'contact':
        event.contact,
        'createdAt':
        epoch_time_to_isoformat(event.createdAt),
        'description':
        event.description,
        'duration':
        event.duration,
        'durationFormatted':
        str(timedelta(seconds=event.duration)) if event.duration else None,
        'endDate':
        epoch_time_to_isoformat(event.endDate),
        'geoLatitude':
        event.geoLatitude,
        'geoLongitude':
        event.geoLongitude,
        'id':
        event.id,
        'organizer':
        event.organizer,
        'ownerId':
        event.ownerId,
        'partnerId':
        event.partnerId,
        'recurrenceType':
        get_recurrence_name(event.recurrenceType),
        'startDate':
        epoch_time_to_isoformat(event.startDate),
        'status':
        get_status_name(event.status),
        'summary':
        event.summary,
        'tags':
        event.tags,
        'updatedAt':
        epoch_time_to_isoformat(event.updatedAt),
    }
Ejemplo n.º 2
0
 def test_status_name(self):
     """Friendly name for KalturaScheduleEventStatus enum values."""
     assert get_status_name(None) is None
     assert get_status_name(
         KalturaScheduleEventStatus(
             KalturaScheduleEventStatus.ACTIVE), ) == 'Active'
Ejemplo n.º 3
0
def _event_to_json(event):
    if isinstance(event, KalturaBlackoutScheduleEvent):
        return _blackout_to_json(event)
    else:
        conflicts = [_blackout_to_json(e) for e in event.blackoutConflicts
                     ] if event.blackoutConflicts else None
        api_json = {
            'blackoutConflicts':
            conflicts,
            'categoryIds':
            json.loads(event.categoryIds) if event.categoryIds else [],
            'classificationType':
            get_classification_name(event.classificationType),
            'comment':
            event.comment,
            'contact':
            event.contact,
            'createdAt':
            epoch_time_to_isoformat(event.createdAt),
            'description':
            event.description,
            'duration':
            event.duration,
            'durationFormatted':
            str(timedelta(seconds=event.duration)) if event.duration else None,
            'endDate':
            epoch_time_to_isoformat(event.endDate),
            'entryIds':
            event.entryIds,
            'geoLatitude':
            event.geoLatitude,
            'geoLongitude':
            event.geoLongitude,
            'id':
            event.id,
            'location':
            event.location,
            'organizer':
            event.organizer,
            'ownerId':
            event.ownerId,
            'parentId':
            event.parentId,
            'partnerId':
            event.partnerId,
            'priority':
            event.priority,
            'recurrenceType':
            get_recurrence_name(event.recurrenceType),
            'referenceId':
            event.referenceId,
            'relatedObjects':
            event.relatedObjects,
            'sequence':
            event.sequence,
            'startDate':
            epoch_time_to_isoformat(event.startDate),
            'status':
            get_status_name(event.status),
            'summary':
            event.summary,
            'tags':
            event.tags,
            'templateEntryId':
            event.templateEntryId,
            'updatedAt':
            epoch_time_to_isoformat(event.updatedAt),
        }
        if event.recurrence:
            api_json['recurrence'] = {
                'byDay': event.recurrence.byDay,
                'byHour': event.recurrence.byHour,
                'byMinute': event.recurrence.byMinute,
                'byMonth': event.recurrence.byMonth,
                'byMonthDay': event.recurrence.byMonthDay,
                'byOffset': event.recurrence.byOffset,
                'bySecond': event.recurrence.bySecond,
                'byWeekNumber': event.recurrence.byWeekNumber,
                'byYearDay': event.recurrence.byYearDay,
                'count': event.recurrence.count,
                'frequency': event.recurrence.frequency.value.capitalize(),
                'interval': event.recurrence.interval,
                'name': event.recurrence.name,
                'relatedObjects': event.recurrence.relatedObjects,
                'timeZone': event.recurrence.timeZone,
                'until': epoch_time_to_isoformat(event.recurrence.until),
            }
        return api_json