def serialize_session_for_ical(sess): from indico.modules.events.contributions.util import serialize_contribution_for_ical from indico.modules.events.util import serialize_person_link return { '_fossil': 'sessionMetadataWithContributions', 'id': sess.id, 'startDate': sess.start_dt, 'endDate': sess.end_dt, 'url': url_for('sessions.display_session', sess, _external=True), 'title': sess.title, 'location': sess.venue_name, 'roomFullname': sess.room_name, 'description': sess.description, 'speakers': [ serialize_person_link(x) for c in sess.contributions for x in c.speakers ], 'contributions': [serialize_contribution_for_ical(c) for c in sess.contributions] }
def serialize_event_for_ical(event, detail_level): from indico.modules.events.contributions.util import serialize_contribution_for_ical fossil = 'conferenceMetadataWithContribs' if detail_level == 'contributions' else 'conferenceMetadata' data = {'id': event.id, 'title': event.title, 'description': event.description, 'startDate': event.start_dt, 'endDate': event.end_dt, 'url': event.external_url, 'location': event.venue_name, 'roomFullname': event.room_name, 'speakers': [], '_fossil': fossil, 'contributions': []} if detail_level == 'contributions': data['contributions'] = [serialize_contribution_for_ical(c) for c in event.contributions] return data
def serialize_session_for_ical(sess): from indico.modules.events.contributions.util import serialize_contribution_for_ical from indico.modules.events.util import serialize_person_link return { '_fossil': 'sessionMetadataWithContributions', 'id': sess.id, 'startDate': sess.start_dt, 'endDate': sess.end_dt, 'url': url_for('sessions.display_session', sess, _external=True), 'title': sess.title, 'location': sess.venue_name, 'roomFullname': sess.room_name, 'description': sess.description, 'speakers': [serialize_person_link(x) for c in sess.contributions for x in c.speakers], 'contributions': [serialize_contribution_for_ical(c) for c in sess.contributions] }