Create method for exercises of a training
This commit is contained in:
parent
e648edb262
commit
1f067d71d7
2 changed files with 15 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
from sqlalchemy import create_engine, insert
|
from sqlalchemy import create_engine, insert, select
|
||||||
from sqlalchemy.engine.base import Engine
|
from sqlalchemy.engine.base import Engine
|
||||||
from datetime import date
|
from datetime import date
|
||||||
from dbapi.tables import training, exercise, approach
|
from dbapi.tables import training, exercise, approach
|
||||||
|
@ -51,6 +51,15 @@ class ExerciseRepository(DatabaseInterfasesMixin):
|
||||||
conn.commit()
|
conn.commit()
|
||||||
return inserted_entry_pk
|
return inserted_entry_pk
|
||||||
|
|
||||||
|
def get_exercises_from_training(self, training_pk: int):
|
||||||
|
"""Method for getting rows of exercises, linked to training by its PK
|
||||||
|
|
||||||
|
Args:
|
||||||
|
training_pk: Training table primary key
|
||||||
|
"""
|
||||||
|
statement = select(exercise).where(exercise.c.Training == training_pk)
|
||||||
|
print(f"Exercises SQL statement: {statement}")
|
||||||
|
|
||||||
|
|
||||||
class ApproachRepository(DatabaseInterfasesMixin):
|
class ApproachRepository(DatabaseInterfasesMixin):
|
||||||
"""Approach table repository"""
|
"""Approach table repository"""
|
||||||
|
|
7
main.py
7
main.py
|
@ -4,7 +4,7 @@ import os
|
||||||
from typing import Dict, List
|
from typing import Dict, List
|
||||||
from sqlalchemy import Table, create_engine, text, insert
|
from sqlalchemy import Table, create_engine, text, insert
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from dbapi.connector import ApproachRepository, ExerciseRepository, TrainingRepository
|
from dbapi.repositories import ApproachRepository, ExerciseRepository, TrainingRepository
|
||||||
from dbapi.tables import metadata_obj, training, exercise, approach
|
from dbapi.tables import metadata_obj, training, exercise, approach
|
||||||
from obsidian.notes_parser import parse_training_data, remap_unique_exercises
|
from obsidian.notes_parser import parse_training_data, remap_unique_exercises
|
||||||
from apple.notes_parser import parse_training_data as apple_parse_training_data
|
from apple.notes_parser import parse_training_data as apple_parse_training_data
|
||||||
|
@ -60,7 +60,6 @@ for train in trainings:
|
||||||
if not train:
|
if not train:
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
print("-------------------------\n" * 2)
|
|
||||||
print(train)
|
print(train)
|
||||||
new_training_pk: int = TrainingRepository(engine).create_training(train.date)
|
new_training_pk: int = TrainingRepository(engine).create_training(train.date)
|
||||||
for exr in train.exercises:
|
for exr in train.exercises:
|
||||||
|
@ -73,6 +72,10 @@ for train in trainings:
|
||||||
exercise_pk=new_exercise_pk, weight=appr.weight, reps=appr.reps
|
exercise_pk=new_exercise_pk, weight=appr.weight, reps=appr.reps
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
print("-------------------------\n" * 2)
|
||||||
|
print("-------------------------\n" * 2)
|
||||||
|
ExerciseRepository(engine=engine).get_exercises_from_training(1)
|
||||||
# -----
|
# -----
|
||||||
|
|
||||||
# Calculating unique exercises for obsidian
|
# Calculating unique exercises for obsidian
|
||||||
|
|
Loading…
Reference in a new issue