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), }
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'
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