Exemplo n.º 1
0
def export_sessions_csv(sessions):
    headers = [
        'Session Title',
        'Session Speakers',
        'Session Track',
        'Session Abstract Short',
        'Session Abstract Long',
        'Comment',
        'Created At',
        'Email Sent',
        'Level',
        'Status',
        'Session Type',
        'Talk Length',
        'Language',
        'Slides',
        'Audio',
        'Video',
    ]
    rows = [headers]
    for session in sessions:
        if not session.deleted_at:
            column = [
                session.title + ' (' + session.state +
                ')' if session.title else ''
            ]
            if session.speakers:
                in_session = ''
                for speaker in session.speakers:
                    if speaker.name:
                        in_session += speaker.name + '; '
                column.append(in_session[:-2])
            else:
                column.append('')
            column.append(session.track.
                          name if session.track and session.track.name else '')
            column.append(
                strip_tags(session.short_abstract) if session.
                short_abstract else '')
            column.append(
                strip_tags(session.long_abstract) if session.
                long_abstract else '')
            column.append(
                strip_tags(session.comments) if session.comments else '')
            column.append(session.created_at if session.created_at else '')
            column.append('Yes' if session.is_mail_sent else 'No')
            column.append(session.level)
            column.append(session.state)
            column.append(session.session_type.name if session.session_type
                          and session.session_type.name else '')
            column.append(session.session_type.length if session.session_type
                          and session.session_type.length else '')
            column.append(session.language if session.language else '')
            column.append(session.slides_url if session.slides_url else '')
            column.append(session.audio_url if session.audio_url else '')
            column.append(session.video_url if session.video_url else '')
            rows.append(column)

    return rows
def export_sessions_csv(sessions):
    headers = ['Session Title', 'Session Speakers',
               'Session Track', 'Session Abstract', 'Created At', 'Email Sent',
               'Level', 'Status', 'Session Type', 'Talk Length']
    rows = [headers]
    for session in sessions:
        if not session.deleted_at:
            column = [session.title + ' (' + session.state + ')' if session.title else '']
            if session.speakers:
                in_session = ''
                for speaker in session.speakers:
                    if speaker.name:
                        in_session += (speaker.name + '; ')
                column.append(in_session[:-2])
            else:
                column.append('')
            column.append(session.track.name if session.track and session.track.name else '')
            column.append(strip_tags(session.short_abstract) if session.short_abstract else '')
            column.append(session.created_at if session.created_at else '')
            column.append('Yes' if session.is_mail_sent else 'No')
            column.append(session.level)
            column.append(session.state)
            column.append(session.session_type if session.session_type else '')
            column.append(len(session.long_abstract))
            rows.append(column)

    return rows
def export_sessions_csv(sessions):
    headers = ['Session Title', 'Session Speakers',
               'Session Track', 'Session Abstract', 'Created At', 'Email Sent']
    rows = [headers]
    for session in sessions:
        if not session.deleted_at:
            column = [session.title + ' (' + session.state + ')' if session.title else '']
            if session.speakers:
                in_session = ''
                for speaker in session.speakers:
                    if speaker.name:
                        in_session += (speaker.name + '; ')
                column.append(in_session[:-2])
            else:
                column.append('')
            column.append(session.track.name if session.track and session.track.name else '')
            column.append(strip_tags(session.short_abstract) if session.short_abstract else '')
            column.append(session.created_at if session.created_at else '')
            column.append('Yes' if session.is_mail_sent else 'No')
            rows.append(column)

    return rows
Exemplo n.º 4
0
def export_sessions_csv(sessions):
    headers = [
        'Session Title',
        'Session Starts At',
        'Session Ends At',
        'Session Speakers',
        'Speaker Emails',
        'Session Track',
        'Session Abstract Short',
        'Session Abstract Long',
        'Comment',
        'Created At',
        'Email Sent',
        'Level',
        'Status',
        'Session Type',
        'Talk Length',
        'Language',
        'Slides',
        'Audio',
        'Video',
        'Average Rating',
        'Number of Ratings',
    ]
    rows = [headers]
    for session in sessions:
        if not session.deleted_at:
            column = [
                session.title + ' (' + session.state +
                ')' if session.title else ''
            ]
            column.append(
                session.starts_at.
                astimezone(pytz.timezone(session.event.timezone)).
                strftime('%B %-d, %Y %H:%M %z') if session.starts_at else '')
            column.append(
                session.ends_at.
                astimezone(pytz.timezone(session.event.timezone)).
                strftime('%B %-d, %Y %H:%M %z') if session.ends_at else '')
            column.append('; '.join(
                list(
                    filter(bool, map(lambda sp: sp.name, session.speakers
                                     or [])))))
            column.append('; '.join(
                list(
                    filter(bool,
                           map(lambda sp: sp.email, session.speakers or [])))))
            column.append(session.track.
                          name if session.track and session.track.name else '')
            column.append(
                strip_tags(session.short_abstract) if session.
                short_abstract else '')
            column.append(
                strip_tags(session.long_abstract) if session.
                long_abstract else '')
            column.append(
                strip_tags(session.comments) if session.comments else '')
            column.append(
                session.created_at.strftime('%B %-d, %Y %H:%M %z') if session.
                created_at else '')
            column.append('Yes' if session.is_mail_sent else 'No')
            column.append(session.level)
            column.append(session.state)
            column.append(session.session_type.name if session.session_type
                          and session.session_type.name else '')
            column.append(session.session_type.length if session.session_type
                          and session.session_type.length else '')
            column.append(session.language if session.language else '')
            column.append(session.slides_url if session.slides_url else '')
            column.append(session.audio_url if session.audio_url else '')
            column.append(session.video_url if session.video_url else '')
            column.append(session.average_rating)
            column.append(session.rating_count)
            rows.append(column)

    return rows