diff --git a/db.py b/db.py index 1b150dd..d61fbef 100644 --- a/db.py +++ b/db.py @@ -13,7 +13,7 @@ from features.person_overview import PersonOverview from features.stats import Stats from features.workout import Workout from features.sql_explorer import SQLExplorer -from utils import count_prs_over_time, get_all_exercises_from_topsets, get_exercise_graph_model, get_stats_from_topsets, get_topsets_for_person, get_weekly_pr_graph_model, get_workout_counts, get_workouts +from utils import count_prs_over_time, get_all_exercises_from_topsets, get_exercise_graph_model, get_topsets_for_person, get_weekly_pr_graph_model, get_workout_counts, get_workouts class DataBase(): @@ -214,7 +214,6 @@ class DataBase(): return { 'PersonId': next((t['PersonId'] for t in topsets), -1), 'PersonName': next((t['PersonName'] for t in topsets), 'Unknown'), - 'Stats': get_stats_from_topsets(topsets), 'Exercises': get_all_exercises_from_topsets(topsets), 'Workouts': get_workouts(topsets), 'ExerciseProgressGraphs': get_topsets_for_person(topsets), diff --git a/utils.py b/utils.py index 53ff3aa..79314bd 100644 --- a/utils.py +++ b/utils.py @@ -115,56 +115,7 @@ def get_people_and_exercise_rep_maxes(topsets, selected_person_ids, selected_exe 'Exercises': get_topsets_for_person(person_topsets) }) - return {"People": people, "Stats": get_stats_from_topsets(topsets)} - - - -def get_stats_from_topsets(topsets): - workout_count = len(set([t['WorkoutId'] - for t in topsets if t['WorkoutId'] is not None])) - people_count = len(set([t['PersonId'] - for t in topsets if t['PersonId'] is not None])) - exercise_count = len(set([t['ExerciseId'] - for t in topsets if t['ExerciseId'] is not None])) - workout_start_dates = [t['StartDate'] - for t in topsets if t['StartDate'] is not None] - - stats = [{"Text": "Total Workouts", "Value": workout_count}, - {"Text": "Total Sets", "Value": len(topsets)}, - {"Text": "Total Exercises", "Value": exercise_count}] - if people_count > 1: - stats.append({"Text": "People tracked", "Value": people_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( - len(topsets) / workout_count, 1) - stats.append({"Text": "Average sets per workout", - "Value": average_number_sets_per_workout}) - - # Average exercises per workout - average_exercises_per_workout = round(exercise_count / workout_count, 1) - stats.append({"Text": "Average Exercises Per Workout", "Value": average_exercises_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}) - - # Average sets per exercise - average_sets_per_exercise = round(len(topsets) / exercise_count, 1) if exercise_count > 0 else 0 - stats.append({"Text": "Average Sets Per Exercise", "Value": average_sets_per_exercise}) - - return stats + return {"People": people} def convert_str_to_date(date_str, format='%Y-%m-%d'):