Completed remapper for obsidian training exercises

This commit is contained in:
pro100ton 2025-01-13 12:35:54 +03:00
parent 3cef2faae1
commit 38186232fe
3 changed files with 31 additions and 3 deletions

20
main.py
View file

@ -5,7 +5,7 @@ from typing import Dict, List
from sqlalchemy import Table, create_engine, text, insert
from dotenv import load_dotenv
from dbapi.tables import metadata_obj, training, exercise, approach
from obsidian.notes_parser import parse_training_data
from obsidian.notes_parser import parse_training_data, remap_unique_exercises
from obsidian.py_models import Training
@ -85,12 +85,30 @@ trainings: List[Training] = parse_training_data()
unique_exercise_names = defaultdict(int)
counter = 0
for train in trainings:
if not train:
continue
if train.exercises:
for exr in train.exercises:
counter += 1
unique_exercise_names[exr.name] += 1
pprint(unique_exercise_names)
print(counter)
parsed_trainings = remap_unique_exercises(trainings)
print("\n" * 3)
unique_exercise_parsed_names = defaultdict(int)
p_counter = 0
for train in parsed_trainings:
if not train:
continue
if train.exercises:
for exr in train.exercises:
p_counter += 1
unique_exercise_parsed_names[exr.name] += 1
pprint(unique_exercise_parsed_names)
print(p_counter)

View file

@ -43,7 +43,7 @@ list_of_unique_names = [
]
default_mpping = {
obsidian_unique_exercies_mapping = {
"Баттерфляй": "Баттерфляй",
"Болгарские приседания на одну ногу": "Болгарские сплит-приседения",
"Брусья": "Брусья",

View file

@ -3,6 +3,7 @@ import re
from pprint import pprint
from typing import List, Tuple
from datetime import datetime
from obsidian.mapper import obsidian_unique_exercies_mapping
from obsidian.py_models import Approach, Exercise, Training
@ -108,4 +109,13 @@ def parse_training_data():
pass
return trains
pprint(parse_training_data()[1:])
def remap_unique_exercises(obsidian_trainings: List[Training]) -> List[Training]:
for obsidian_training in obsidian_trainings:
if not obsidian_training:
continue
for obsidian_exercise in obsidian_training.exercises:
obsidian_exercise.name = obsidian_unique_exercies_mapping.get(
obsidian_exercise.name
)
return obsidian_trainings