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 sqlalchemy import Table, create_engine, text, insert
from dotenv import load_dotenv from dotenv import load_dotenv
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 from obsidian.notes_parser import parse_training_data, remap_unique_exercises
from obsidian.py_models import Training from obsidian.py_models import Training
@ -85,12 +85,30 @@ trainings: List[Training] = parse_training_data()
unique_exercise_names = defaultdict(int) unique_exercise_names = defaultdict(int)
counter = 0
for train in trainings: for train in trainings:
if not train: if not train:
continue continue
if train.exercises: if train.exercises:
for exr in train.exercises: for exr in train.exercises:
counter += 1
unique_exercise_names[exr.name] += 1 unique_exercise_names[exr.name] += 1
pprint(unique_exercise_names) 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 pprint import pprint
from typing import List, Tuple from typing import List, Tuple
from datetime import datetime from datetime import datetime
from obsidian.mapper import obsidian_unique_exercies_mapping
from obsidian.py_models import Approach, Exercise, Training from obsidian.py_models import Approach, Exercise, Training
@ -108,4 +109,13 @@ def parse_training_data():
pass pass
return trains 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