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
def get_report(report): func = reports.get(report) if not func: abort(400, gettext('Unknown report {}'.format(report))) results = func() return jsonify(results), 200
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)