Revert "Add stats to new person overview page, just copied the logic so will need to refactor when the dashboard page is refactored as well"

This reverts commit 4783ce6026.
This commit is contained in:
Peter Stockings
2025-01-26 20:55:08 +11:00
parent 4783ce6026
commit c569793fd8

View File

@@ -1,5 +1,4 @@
from datetime import date, timedelta
from utils import calculate_estimated_1rm, get_exercise_graph_model
@@ -138,10 +137,6 @@ class PersonOverview:
# Initialize the exercise sets dictionary
exercise_sets = {exercise["id"]: {"exercise_id": exercise["id"], "name": exercise["name"], "sets": []} for exercise in exercises}
workout_start_dates = []
set_count = 0
exercise_count = len(unique_exercise_ids)
for row in result:
workout_id = row["workout_id"]
@@ -154,8 +149,6 @@ class PersonOverview:
"exercises": {exercise["id"]: [] for exercise in exercises} # Keyed by exercise_id
}
workout_start_dates.append(row["start_date"])
# Add topset to the corresponding exercise
if row["exercise_id"] and row["topset_id"]:
# Add to workout exercises
@@ -172,7 +165,6 @@ class PersonOverview:
"workout_start_date": row["start_date"],
"exercise_name": row["exercise_name"]
})
set_count += 1
# Transform into a list of rows
for workout_id, workout in workout_map.items():
@@ -180,39 +172,11 @@ class PersonOverview:
exercise_progress_graphs = self.generate_exercise_progress_graphs(person_info["person_id"], exercise_sets)
workout_count = len(workout_start_dates)
stats = [{"Text": "Total Workouts", "Value": workout_count},
{"Text": "Total Sets", "Value": set_count},
{"Text": "Total Exercises", "Value": exercise_count}]
if workout_count > 0:
first_workout_date = min(workout_start_dates)
last_workout_date = max(workout_start_dates)
stats.append({"Text": "Days Since First Workout", "Value": (
date.today() - first_workout_date).days})
if workout_count >= 2:
stats.append({"Text": "Days Since Last Workout",
"Value": (
date.today() - last_workout_date).days})
average_number_sets_per_workout = round(
set_count / workout_count, 1)
stats.append({"Text": "Average sets per workout",
"Value": average_number_sets_per_workout})
training_duration = last_workout_date - first_workout_date
if training_duration > timedelta(days=0):
average_workouts_per_week = round(
workout_count / (training_duration.days / 7), 1)
stats.append({"Text": "Average Workouts Per Week",
"Value": average_workouts_per_week})
return {
**person_info,
"workouts": workouts,
"selected_exercises": exercises,
"exercise_progress_graphs": exercise_progress_graphs,
"stats": stats
"exercise_progress_graphs": exercise_progress_graphs
}
def generate_exercise_progress_graphs(self, person_id, exercise_sets):