diff --git a/app.py b/app.py index 4ca1d33..aa3e318 100644 --- a/app.py +++ b/app.py @@ -349,6 +349,31 @@ def render_users_and_workouts(): duration_sparkline = sparklines.sparklines( [int(w['duration_minutes']) for w in workouts])[0] + # REFACTOR + + def date_range(start_date, end_date): + delta = end_date - start_date + return [(start_date + timedelta(days=i)) for i in range(delta.days + 1)] + + dates = date_range(start_date, end_date) + daily_duration = [] + for date in dates: + # check if workout exists for date + workout = [w for w in workouts if w['start_time_date'].date() + == date] + if workout: + daily_duration.append(int(workout[0]['duration_minutes'])) + else: + daily_duration.append(0) + + # Reverse the daily duration list so that the most recent day is on the right + daily_duration.reverse() + + daily_duration_sparkline = sparklines.sparklines( + daily_duration)[0] + + # REFACTOR BOUNDARY + user_data = { 'id': user.id, 'name': user.name, @@ -360,6 +385,7 @@ def render_users_and_workouts(): 'num_days': num_days, 'workout_counts_sparkline': workout_counts_sparkline, 'duration_sparkline': duration_sparkline, + 'daily_duration_sparkline': daily_duration_sparkline, 'calendar_month': generate_calendar_monthly_view(workouts, datetime.now().date()) } users_data.append(user_data) diff --git a/templates/workouts_list.html b/templates/workouts_list.html index 49c112e..b3d34d4 100644 --- a/templates/workouts_list.html +++ b/templates/workouts_list.html @@ -14,7 +14,7 @@ -