diff --git a/app/db/keepalive.db b/app/db/keepalive.db index 9354e25..e1a7381 100644 Binary files a/app/db/keepalive.db and b/app/db/keepalive.db differ diff --git a/app/keep.py b/app/keep.py index df2524a..521bd99 100644 --- a/app/keep.py +++ b/app/keep.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, request, g, url_for, redirect +from flask import Blueprint, render_template, request, g, url_for, redirect, Response from datetime import datetime import sqlite3 @@ -76,3 +76,22 @@ def delete_keepalive(item_id): c.execute("DELETE FROM keepalive2 WHERE id = ?", (item_id,)) conn.commit() return redirect(url_for('keep.dispkeepalive')) + + +@keep.route('/download_csv') +def download_csv(): + conn = get_db() + c = conn.cursor() + c.execute("SELECT location, date, time FROM keepalive2 ORDER BY id DESC") + rows = c.fetchall() + conn.close() + + output = "Location,Date,Time\n" + for row in rows: + output += f"{row[0]},{row[1]},{row[2]}\n" + + return Response( + output, + mimetype='text/csv', + headers={"Content-Disposition": "attachment;filename=keepalive.csv"} + ) diff --git a/app/templates/keepaliveshowpage.html b/app/templates/keepaliveshowpage.html index 7040fc0..39faf3e 100644 --- a/app/templates/keepaliveshowpage.html +++ b/app/templates/keepaliveshowpage.html @@ -26,6 +26,11 @@ {% endfor %} + +
+ Download CSV +
+ {% else %}

No items to show.

{% endif %}