Exemple #1
0
def export_reports(report):
    func = reports.get(report)

    if not func:
        abort(400, gettext('Unknown report {}'.format(report)))

    rows = func()
    data = StringIO()
    writer = csv.writer(data, dialect='excel')

    for row in rows:
        writer.writerow(row)

    csv_file = data.getvalue().encode('utf-8')

    response = newsroom_app.response_class(response=csv_file,
                                           status=200,
                                           mimetype='text/csv',
                                           direct_passthrough=True)

    response.content_length = len(csv_file)
    response.headers['Content-Type'] = 'text/csv'
    response.headers[
        'Content-Disposition'] = 'attachment; filename="report-export.csv"'

    return response
Exemple #2
0
def get_report(report):
    func = reports.get(report)

    if not func:
        abort(400, gettext('Unknown report {}'.format(report)))

    results = func()
    return jsonify(results), 200
Exemple #3
0
def print_reports(report):
    func = reports.get(report)

    if not func:
        abort(400, gettext('Unknown report {}'.format(report)))

    data = func()
    return render_template('reports_print.html',
                           setting_type="print_reports",
                           data=data,
                           report=report)