diff --git a/app.py b/app.py index 5fe6d4c..0771d23 100644 --- a/app.py +++ b/app.py @@ -10,7 +10,7 @@ import minify_html from urllib.parse import urlparse from db import DataBase -from graph import generate_graph +from graph import generate_graph, generate_sparkline_graph app = Flask(__name__) # TODO CHANGE SECRET KEY TO ENVIRONMENT VARIABLE @@ -57,8 +57,7 @@ def overview(device_id): cadences = db.get_all_cadences(device_id) last_cadence = cadences[-1]['rpm'] if cadences else 0 - graph_data = generate_graph([c['logged_at'] for c in cadences[::2]], [ - ("RPM", [c['rpm'] for c in cadences[::2]])]) + graph_data = generate_sparkline_graph([c['rpm'] for c in cadences]) return render_template('overview.html', last_cadence=last_cadence, cadences=cadences[-15:], graph_data=graph_data) diff --git a/db.py b/db.py index 4f6421c..9d4030f 100644 --- a/db.py +++ b/db.py @@ -41,7 +41,7 @@ class DataBase(): [rpm, device_id], commit=True) def get_all_cadences(self, device_id): - return self.execute("""SELECT LOGGED_AT, RPM FROM cadence WHERE device_id = %s AND (NOW() < (LOGGED_AT + (INTERVAL '3 hour')))""", [device_id]) + return self.execute("""SELECT LOGGED_AT, RPM FROM cadence WHERE device_id = %s AND (NOW() < (LOGGED_AT + (INTERVAL '3 hour'))) LIMIT 100""", [device_id]) def get_devices(self): return self.execute(""" diff --git a/graph.py b/graph.py index 63d9f99..44d81b0 100644 --- a/graph.py +++ b/graph.py @@ -26,3 +26,11 @@ def generate_graph(x_labels, data, style=custom_style): graph.add(title, values) graph_data = graph.render_data_uri() return graph_data + + +def generate_sparkline_graph(data, style=custom_style): + chart = pygal.Line(show_y_guides=False, + show_legend=False, style=style) + chart.add('', data) + + return chart.render_sparkline(disable_xml_declaration=True) diff --git a/templates/overview.html b/templates/overview.html index 24b138f..6c7d947 100644 --- a/templates/overview.html +++ b/templates/overview.html @@ -2,8 +2,11 @@ class="mb-4 text-4xl font-extrabold leading-none tracking-tight text-gray-900 md:text-5xl lg:text-6xl dark:text-white text-center"> {{last_cadence}} rpm -