コード例 #1
0
def download_sessions_as_csv(event_id):
    sessions = DataGetter.get_sessions_by_event_id(event_id)
    event = DataGetter.get_event(event_id)
    main = [["Session Title", "Session Speakers", \
             "Session Track", "Session Abstract", "Email Sent"]]
    for session in sessions:
        if not session.deleted_at:
            data = [session.title + " (" + session.state + ")" if session.title else '']
            if session.speakers:
                inSession = ''
                for speaker in session.speakers:
                    if speaker.name:
                        inSession += (speaker.name + ', ')
                data.append(inSession[:-2])
            data.append(session.track.name if session.track.name else '')
            data.append(strip_tags(session.short_abstract) if session.short_abstract else '')
            data.append('Yes' if session.state_email_sent else 'No')
            main.append(data)
    final = StringIO()
    csvWriter = writer(final)
    csvWriter.writerows(main)
    response = make_response(final.getvalue())
    final.close()
    response.headers['Content-Type'] = 'text/csv'
    response.headers['Content-Disposition'] = \
        'inline; filename=%s-Sessions.csv' % (re.sub(r"[^\w\s]", '', event.name).replace(" ", "_"))
    return response
コード例 #2
0
    def export(event_id):
        sessions = DataGetter.get_sessions_by_event_id(event_id)
        headers = [
            'Session Title', 'Session Speakers', 'Session Track',
            'Session Abstract', '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:
                    inSession = ''
                    for speaker in session.speakers:
                        if speaker.name:
                            inSession += (speaker.name + '; ')
                    column.append(inSession[:-2])
                column.append(session.track.name if session.track.name else '')
                column.append(
                    strip_tags(session.short_abstract) if session.
                    short_abstract else '')
                column.append('Yes' if session.state_email_sent else 'No')
                rows.append(column)

        return rows
コード例 #3
0
def send_mail_via_smtp_task(config, payload):
    mailer_config = {
        'transport': {
            'use': 'smtp',
            'host': config['host'],
            'username': config['username'],
            'password': config['password'],
            'tls': config['encryption'],
            'port': config['port']
        }
    }

    mailer = Mailer(mailer_config)
    mailer.start()
    message = Message(author=payload['from'], to=payload['to'])
    message.subject = payload['subject']
    message.plain = strip_tags(payload['html'])
    message.rich = payload['html']
    mailer.send(message)
    mailer.stop()
コード例 #4
0
def send_mail_via_smtp_task(config, payload):
    mailer_config = {
        'transport': {
            'use': 'smtp',
            'host': config['host'],
            'username': config['username'],
            'password': config['password'],
            'tls': config['encryption'],
            'port': config['port']
        }
    }

    mailer = Mailer(mailer_config)
    mailer.start()
    message = Message(author=payload['from'], to=payload['to'])
    message.subject = payload['subject']
    message.plain = strip_tags(payload['html'])
    message.rich = payload['html']
    mailer.send(message)
    mailer.stop()