From 9645bb417024a98a7b21756c0d7522da739ba1e2 Mon Sep 17 00:00:00 2001 From: Nico Melone Date: Wed, 22 Jan 2025 14:46:40 -0600 Subject: [PATCH] init actual --- app.py | 33 +++++++++++++++++++++++++++++++++ requirements.txt | 4 ++++ templates/report.html | 29 +++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 app.py create mode 100644 requirements.txt create mode 100644 templates/report.html diff --git a/app.py b/app.py new file mode 100644 index 0000000..5d0b32a --- /dev/null +++ b/app.py @@ -0,0 +1,33 @@ +import requests +from flask import Flask, render_template, jsonify, make_response +from weasyprint import HTML + +app = Flask(__name__) + +@app.route('/report') +def report(): + # Prepare graph data + graph_data = [ + { + 'x': [1, 2, 3], + 'y': [10, 20, 30], + 'type': 'scatter' + } + ] + return render_template('report.html', graph_data=jsonify(graph_data)) + +def get_data(): + response = requests.get('https://api.example.com/data') + return response.json() + +@app.route('/download-pdf') +def download_pdf(): + html = render_template('report.html') + pdf = HTML(string=html).write_pdf() + response = make_response(pdf) + response.headers['Content-Type'] = 'application/pdf' + response.headers['Content-Disposition'] = 'inline; filename=report.pdf' + return response + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..3744fe6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +flask +requests +weasyprint +plotly \ No newline at end of file diff --git a/templates/report.html b/templates/report.html new file mode 100644 index 0000000..6ceaf04 --- /dev/null +++ b/templates/report.html @@ -0,0 +1,29 @@ +
+ + + + + + + + + + + + {% for row in table_data %} + + + + + {% endfor %} + +
Header 1Header 2
{{ row[0] }}{{ row[1] }}
+ +
+ + + +
\ No newline at end of file