aboutsummaryrefslogtreecommitdiffstats
path: root/screens/templates.py
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-03-18 16:03:00 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-03-18 16:03:00 +0100
commitc5f9c19fb0591a1d14777ad205e01e29101715ae (patch)
tree1543f745674b75188b4c84894a41297895f017f8 /screens/templates.py
parent7ecba24a3383d4e331c812b0dcd57bc7bf565713 (diff)
downloadEgoMetrics-c5f9c19fb0591a1d14777ad205e01e29101715ae.tar.gz
EgoMetrics-c5f9c19fb0591a1d14777ad205e01e29101715ae.zip
Prefix non-public screen functions with _ and split sessions.py into helpers
Diffstat (limited to 'screens/templates.py')
-rw-r--r--screens/templates.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/screens/templates.py b/screens/templates.py
index 7c8ff60..fe122ce 100644
--- a/screens/templates.py
+++ b/screens/templates.py
@@ -15,18 +15,18 @@ def manage_workout_templates(conn: sqlite3.Connection) -> None:
print("5. Back")
choice = input("\n> ").strip()
if choice == "1":
- list_workout_templates(conn)
+ _list_workout_templates(conn)
elif choice == "2":
- create_workout_template(conn)
+ _create_workout_template(conn)
elif choice == "3":
- edit_workout_template(conn)
+ _edit_workout_template(conn)
elif choice == "4":
- delete_workout_template(conn)
+ _delete_workout_template(conn)
elif choice == "5":
break
-def list_workout_templates(conn: sqlite3.Connection, pause: bool = True) -> None:
+def _list_workout_templates(conn: sqlite3.Connection, pause: bool = True) -> None:
templates = models.list_workout_templates(conn)
ui.print_header("All Workout Templates")
ui.print_table(
@@ -37,7 +37,7 @@ def list_workout_templates(conn: sqlite3.Connection, pause: bool = True) -> None
ui.pause()
-def create_workout_template(conn: sqlite3.Connection) -> None:
+def _create_workout_template(conn: sqlite3.Connection) -> None:
name = ui.prompt_str("Template name: ")
assert name is not None
try:
@@ -50,25 +50,25 @@ def create_workout_template(conn: sqlite3.Connection) -> None:
# Immediately enter exercise editor
print("Now add exercises to the template.")
ui.pause()
- edit_template_exercises(conn, template_id)
+ _edit_template_exercises(conn, template_id)
-def edit_workout_template(conn: sqlite3.Connection) -> None:
+def _edit_workout_template(conn: sqlite3.Connection) -> None:
templates = models.list_workout_templates(conn)
if not templates:
print("\nNo templates defined.")
return
- list_workout_templates(conn, pause=False)
+ _list_workout_templates(conn, pause=False)
tid = ui.prompt_int("\nTemplate ID to edit: ")
assert tid is not None
template = models.get_workout_template(conn, tid)
if not template:
print("Template not found.")
return
- edit_template_exercises(conn, tid)
+ _edit_template_exercises(conn, tid)
-def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
+def _edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
"""Interactive editor for a template's exercise list."""
while True:
ui.clear_screen()
@@ -118,6 +118,7 @@ def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
if action == "b":
break
+ # Rename the template
elif action == "n":
new_name = ui.prompt_str("New template name: ")
assert new_name is not None
@@ -128,6 +129,7 @@ def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
print(f'Template "{new_name}" already exists.')
ui.pause()
+ # Add an exercise: pick from available, prompt for defaults, append and save
elif action == "a":
available = models.list_workout_exercises(conn)
if not available:
@@ -162,6 +164,7 @@ def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
print(f'"{ex["name"]}" added to template.')
ui.pause()
+ # Remove an exercise by position
elif action == "r":
if not exercises_data:
print("No exercises to remove.")
@@ -176,6 +179,7 @@ def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
print(f'Removed "{removed["exercise_name"]}".')
ui.pause()
+ # Reorder: pop from one position and insert at another
elif action == "m":
if len(exercises_data) < 2:
print("Need at least 2 exercises to move.")
@@ -193,6 +197,7 @@ def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
print("Exercise moved.")
ui.pause()
+ # Edit default values for an existing exercise (Enter keeps current)
elif action == "e":
if not exercises_data:
print("No exercises to edit.")
@@ -231,12 +236,12 @@ def edit_template_exercises(conn: sqlite3.Connection, template_id: int) -> None:
ui.pause()
-def delete_workout_template(conn: sqlite3.Connection) -> None:
+def _delete_workout_template(conn: sqlite3.Connection) -> None:
templates = models.list_workout_templates(conn)
if not templates:
print("\nNo templates defined.")
return
- list_workout_templates(conn, pause=False)
+ _list_workout_templates(conn, pause=False)
tid = ui.prompt_int("\nTemplate ID to delete: ")
assert tid is not None
template = models.get_workout_template(conn, tid)