diff --git a/app.py b/app.py index 95ebc1c..bdc14f8 100644 --- a/app.py +++ b/app.py @@ -413,7 +413,9 @@ def get_exercise_progress_for_user(person_id, exercise_id): 'min_date'), '%Y-%m-%d') max_date = convert_str_to_date(request.args.get( 'max_date'), '%Y-%m-%d') - exercise_progress = db.get_exercise_progress_for_user(person_id, exercise_id, min_date, max_date) + epoch = request.args.get('epoch', default='All') + + exercise_progress = db.get_exercise_progress_for_user(person_id, exercise_id, min_date, max_date, epoch) if not exercise_progress: abort(404) diff --git a/db.py b/db.py index b7c2f07..cde3ad3 100644 --- a/db.py +++ b/db.py @@ -3,6 +3,7 @@ import psycopg2 import numpy as np from psycopg2.extras import RealDictCursor from datetime import datetime +from dateutil.relativedelta import relativedelta from urllib.parse import urlparse from flask import g @@ -450,7 +451,14 @@ class DataBase(): 'SELECT exercise_id, name FROM exercise') return exercises - def get_exercise_progress_for_user(self, person_id, exercise_id, min_date=None, max_date=None): + def get_exercise_progress_for_user(self, person_id, exercise_id, min_date=None, max_date=None, epoch='all'): + today = datetime.now() + if epoch == '1M': + min_date = today - relativedelta(months=1) + elif epoch == '3M': + min_date = today - relativedelta(months=3) + elif epoch == '6M': + min_date = today - relativedelta(months=6) # Execute SQL query to fetch topset data for a specific person and exercise topsets = self.execute(""" SELECT @@ -484,7 +492,7 @@ class DataBase(): start_dates = [t['start_date'] for t in topsets] messages = [f'{t["repetitions"]} x {t["weight"]}kg ({t["estimated_1rm"]}kg E1RM) on {t["start_date"].strftime("%d %b %y")}' for t in topsets] - exercise_progress = get_exercise_graph_model(topsets[0]['exercise_name'], estimated_1rm, repetitions, weight, start_dates, messages) + exercise_progress = get_exercise_graph_model(topsets[0]['exercise_name'], estimated_1rm, repetitions, weight, start_dates, messages, epoch, person_id, exercise_id) return exercise_progress diff --git a/templates/partials/sparkline.html b/templates/partials/sparkline.html index f9ac889..5353e89 100644 --- a/templates/partials/sparkline.html +++ b/templates/partials/sparkline.html @@ -47,11 +47,24 @@