Writing parser for apple notes
This commit is contained in:
parent
38186232fe
commit
3fc6923c13
6 changed files with 2374 additions and 19 deletions
1545
apple/examples/full.txt
Normal file
1545
apple/examples/full.txt
Normal file
File diff suppressed because it is too large
Load diff
36
apple/examples/notes.txt
Normal file
36
apple/examples/notes.txt
Normal file
|
@ -0,0 +1,36 @@
|
|||
**21.08.2024 (с123-69)**
|
||||
|
||||
| | | |
|
||||
|---|---|---|
|
||||
|**Упражнение**|**Вес**|**Подходы**|
|
||||
|Подтягивания|0-37-37|7-10-7|
|
||||
|Тяга гантелей лежа на животе на скамье 80°|36-48|12-12-12-12|
|
||||
|Тяга вертикального блока|59|10-9-10|
|
||||
|Жим от груди сидя в тренажере (рычаги)|40-60-60|12-12-10|
|
||||
|Баттерфляй|57|12-12-12|
|
||||
||||
|
||||
|
||||
**19.08.2024 (с122-68)**
|
||||
|
||||
| | | |
|
||||
|---|---|---|
|
||||
|**Упражнение**|**Вес**|**Подходы**|
|
||||
|Жим ногами|50-100-150-175|12-12-12-12-8|
|
||||
|Румынская тяга|22х2|12-12-12|
|
||||
|Разведение рук в стороны в тренажёре Дж|47|12-12-12|
|
||||
|Жим гантелей сидя 80⁰|16х2|12-12-12|
|
||||
||||
|
||||
||||
|
||||
|
||||
|
||||
**21.06.23 (с3)**
|
||||
|
||||
| | | |
|
||||
| ------------------------- | -------- | ----------- |
|
||||
| Упражнение | Вес | Подходы |
|
||||
| Гравитрон | 57-57-77 | 7-6-10 |
|
||||
| Тяга гантелей в наклоне | 7-8-8-8 | 13-13-12-12 |
|
||||
| Отжимания | | 8-6-7-5.5 |
|
||||
| Тяга ногами | 41 | 12-12-12-12 |
|
||||
| Гиперэкстензия | 0-10-10 | 12-12-12 |
|
||||
| Подъем коленей на турнике | | 10-10-10 |
|
572
apple/mapper.py
Normal file
572
apple/mapper.py
Normal file
|
@ -0,0 +1,572 @@
|
|||
unique_apple_exercises_mapper = {
|
||||
"Батерфляй": "Баттерфляй",
|
||||
"Баттерфляй": "Баттерфляй",
|
||||
"Баттерфляй дю": "Баттерфляй",
|
||||
"Бицепс на лавке 45⁰": "Подъем гантелей на бицепс сидя",
|
||||
"Болгарский присед": "Болгарские сплит-приседения",
|
||||
"Брусья": "Брусья",
|
||||
"Брусья (гравитрон)": "Брусья",
|
||||
"Брусья в тренажере": "Брусья",
|
||||
"Брусья прямые ноги": "Брусья",
|
||||
"Брусья узким хватом": "Брусья",
|
||||
"Брусья узким хватом за": "Брусья",
|
||||
"Брусья широким хватом": "Брусья",
|
||||
"Брусья-прямые ноги": "Брусья",
|
||||
"ГАК машина": "Жим ногами (гакк-машина)",
|
||||
"Гакк машина": "Жим ногами (гакк-машина)",
|
||||
"Гакк присед": "Жим ногами (гакк-машина)",
|
||||
"Гантели": 1,
|
||||
"Гантели к поясу лежа на скамье": 1,
|
||||
"Гантели молот": 1,
|
||||
"Гантели на лавках": 1,
|
||||
"Гантели-молот": 1,
|
||||
"Гипекстензия": 1,
|
||||
"Гиперэкстензия": 13,
|
||||
"Горизонтальна тяга на себя": 1,
|
||||
"Горизонтальная тяга блока": 1,
|
||||
"Гравитрон": "Гравитрон",
|
||||
"Гравитрор": "Гравитрон",
|
||||
"Гребная тяга": "Гребная тяга с упором в грудь",
|
||||
"Гребная тяга с упором в грудь": "Гребная тяга с упором в грудь",
|
||||
"Гребная тяга с упором в грудь как": "Гребная тяга с упором в грудь",
|
||||
"Гребная тяга с упором на грудь": "Гребная тяга с упором в грудь",
|
||||
"Гребная тяга сидя (одна рука)": "Гребная тяга с упором в грудь (поочереди)",
|
||||
"Гребная тяга сидя одной рукой": "Гребная тяга с упором в грудь (поочереди)",
|
||||
"Гребная тяга сидя с упором в грудт": "Гребная тяга с упором в грудь",
|
||||
"Гребная тяга сидя с упором в грудь": "Гребная тяга с упором в грудь",
|
||||
"Гребная тяга сидя с упором в грудь (одной рукой рычаг)": "Гребная тяга с упором в грудь (поочереди)",
|
||||
"Гребная тяга\xa0 упором в грудьс": 1,
|
||||
"Жим в тренажере вверх": 1,
|
||||
"Жим в тренажере на плечи блочный (3х12)": 1,
|
||||
"Жим в тренажёре на плечи (силовой тренажёр: жим сидя)": 1,
|
||||
"Жим вверх 80⁰": 1,
|
||||
"Жим гантелей": "Жим гантелей лежа",
|
||||
"Жим гантелей 45⁰": "Жим гантелей лежа (Под углом 45 градусов)",
|
||||
"Жим гантелей 60⁰": "Жим гантелей лежа (Под углом 45 градусов)",
|
||||
"Жим гантелей 80⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей 90⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей вверх 80⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей вверх 90⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей вверх сидя 90⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей лежа": "Жим гантелей лежа",
|
||||
"Жим гантелей лежа 15⁰": "Жим гантелей лежа",
|
||||
"Жим гантелей лежа 30⁰": "Жим гантелей лежа",
|
||||
"Жим гантелей лежа на скамье": "Жим гантелей лежа",
|
||||
"Жим гантелей лёжа": "Жим гантелей лежа",
|
||||
"Жим гантелей лёжа на скамье": "Жим гантелей лежа",
|
||||
"Жим гантелей на скамье": "Жим гантелей лежа",
|
||||
"Жим гантелей на скамье 45⁰": "Жим гантелей лежа (Под углом 45 градусов)",
|
||||
"Жим гантелей сидя": "Жим гантелей сидя",
|
||||
"Жим гантелей сидя 80⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей сидя 90⁰": "Жим гантелей сидя",
|
||||
"Жим гантелей сидя на скамейке": "Жим гантелей сидя",
|
||||
"Жим гантелей стоя": 2,
|
||||
"Жим л груди в тренажёре": 1,
|
||||
"Жим лежа": "Жим лежа",
|
||||
"Жим ногами": "Жим ногами",
|
||||
"Жим ногами (3х15)": "Жим ногами",
|
||||
"Жим ногами (медленно вниз)": "Жим ногами",
|
||||
"Жим ногами лежа": "Жим ногами",
|
||||
"Жим ногами медленно": "Жим ногами",
|
||||
"Жим от груди": "Жим лежа",
|
||||
"Жим от груди (сидя, тренажёр)": 1,
|
||||
"Жим от груди в тренажере сидя": 1,
|
||||
"Жим от груди в тренажёре (кирпичики)": 1,
|
||||
"Жим от груди сидя": 5,
|
||||
"Жим от груди сидя (блинчики)": 2,
|
||||
"Жим от груди сидя в тренажере": 3,
|
||||
"Жим от груди сидя в тренажере (около трицепс машины)": 1,
|
||||
"Жим от груди сидя в тренажере (рычаги)": 1,
|
||||
"Жим от груди сидя в тренажере рычаги": 1,
|
||||
"Жим от груди сидя в тренажёре": 3,
|
||||
"Жим от груди сидя в тренажёре (блинчики)": 1,
|
||||
"Жим от груди сидя в тренажёре (рычаги)": 1,
|
||||
"Жим от плеч (рычаги)": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч вверх": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч вверх в тренажёре": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч вверх сидя": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч вверх сидя 80⁰": 1,
|
||||
"Жим от плеч вверх сидя в тренажере": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч сидя": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч сидя (рычаги)": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч сидя зэ": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плеч сидя хз": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим от плечей вверх": "Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Жим плечами вверх сидя": 1,
|
||||
"Жим сидя 45⁰": 1,
|
||||
"Жим штанги 45⁰": 2,
|
||||
"Жим штанги в наклоне": 1,
|
||||
"Жим штанги лежа": 1,
|
||||
"Жим штанги сидя 45⁰": 1,
|
||||
"Жим штанги стля": 1,
|
||||
"Жим штанги стоя": 1,
|
||||
"Жис гантелей лежа": "Жим гантелей лежа",
|
||||
"Жис сидя в тренажёре": 1,
|
||||
"Махи в наклоне с упором": 1,
|
||||
"Молот назад двумя руками": 1,
|
||||
"Молот трицепс стоя": 1,
|
||||
"Молоты": 1,
|
||||
"Наклонная тяга (скамья)": 1,
|
||||
"Наклоны с прямой спиной": 1,
|
||||
"Отведение в кроссовере одной рукой": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение в рук в наклоне": 1,
|
||||
"Отведение назад в пек дек": "Разведение рук в пек-дек",
|
||||
"Отведение назад в тренажере пек дек": "Разведение рук в пек-дек",
|
||||
"Отведение назад в тренажере пэк дэк (3х12)": "Разведение рук в пек-дек",
|
||||
"Отведение рук в кроссовере": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение рук в стороны с гантелями стоя": 1,
|
||||
"Отведение рук в стороны стоя с гантелями": 1,
|
||||
"Отведение рук назад в пек дек": "Разведение рук в пек-дек",
|
||||
"Отведение рук с гантелями стоя": 2,
|
||||
"Отведение рук стоя с гантелями": 1,
|
||||
"Отведение руки в кроссовере": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки в кроссовере (одной рукой)": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки в кроссовере (по одной руке)": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки в кроссовере на каждую руку": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки в кроссовкре": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки в сторону": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки в сторону в кроссовере (каждая рука)": "Отведение рук в кроссовере (поочереди)",
|
||||
"Отведение руки стоя": 2,
|
||||
"Отведение руки стоя снизу вверх": 1,
|
||||
"Отжимания": "Отжимания",
|
||||
"Отжимания на брусьях": "Брусья",
|
||||
"Отжимания на брусьях узким хватом": "Брусья",
|
||||
"Отжимания на брусьях широким хватом": "Брусья",
|
||||
"Пек дек (отведение назад)": "Разведение рук в пек-дек",
|
||||
"Пек дек разведение рук в стороны": "Разведение рук в пек-дек",
|
||||
"Подтягивание на заднюю дельту в петлях": 1,
|
||||
"Подтягивание ног на ручнике": "Подъем ног на турнике",
|
||||
"Подтягивание ног на турнике": "Подъем ног на турнике",
|
||||
"Подтягивание ног прямых вися на турнике": "Подъем ног на турнике",
|
||||
"Подтягивания": "Подтягивания",
|
||||
"Подтягивания в гравитроне": "Подтягивания",
|
||||
"Подтягивания на резинке": "Подтягивания",
|
||||
"Подтягивания обратным хватом": "Подтягивания обратным хватом",
|
||||
"Подтяотвания": "Подтягивания",
|
||||
"Подъем коленей на турнике": "Подъем ног на турнике",
|
||||
"Подъем ног на турнике": "Подъем ног на турнике",
|
||||
"Подъем штанги стоя": 2,
|
||||
"Подъёмы ног на турнике": "Подъем ног на турнике",
|
||||
"Подьем штанги стоя": 1,
|
||||
"Присд на одну ногу (по очереди)": "Выпады",
|
||||
"Присед на одну ногу": "Выпады",
|
||||
"Присед на одну ногу (каждая)": "Выпады",
|
||||
"Приседания": "Приседания",
|
||||
"Приседания на одной ноге": "Выпады",
|
||||
"Разведение рук в кроссовере на трицепс": 1,
|
||||
"Разведение рук в наклоне": 2,
|
||||
"Разведение рук в налоне": 1,
|
||||
"Разведение рук в пек дек": "Разведение рук в пек-дек",
|
||||
"Разведение рук в стороны": "Разведение рук в пек-дек",
|
||||
"Разведение рук в стороны (дельт-машина)": "Разведение рук в стороны (дельт-машина)",
|
||||
"Разведение рук в стороны (дельта-машина)": "Разведение рук в стороны (дельт-машина)",
|
||||
"Разведение рук в стороны (пек дек)": "Разведение рук в пек-дек",
|
||||
"Разведение рук в стороны в наклоне 90⁰": 2,
|
||||
"Разведение рук в стороны в наклоне с гантелями": 1,
|
||||
"Разведение рук в стороны в пекдек": "Разведение рук в пек-дек",
|
||||
"Разведение рук в стороны в тренажёре": 1,
|
||||
"Разведение рук в стороны в тренажёре Дж": 1,
|
||||
"Разведение рук в стороны пек дек": "Разведение рук в пек-дек",
|
||||
"Разведение рук в стороны с гантелям": 1,
|
||||
"Разведение рук в стороны стоя": 2,
|
||||
"Разведение рук в стороны стоя с гантелями": 2,
|
||||
"Разведение рук в стрроны": 1,
|
||||
"Разведение рук назад в пек дек": "Разведение рук в пек-дек",
|
||||
"Разведение рук назад пек дек": "Разведение рук в пек-дек",
|
||||
"Разведение рук пек дек": "Разведение рук в пек-дек",
|
||||
"Разведение рук сидя": "Разведение рук в пек-дек",
|
||||
"Разведение рук сидя с прямыми руками в тренажере": "Разведение рук в пек-дек",
|
||||
"Разведение рук стоя с гантелями": 1,
|
||||
"Разгибание из за головы": 1,
|
||||
"Разгибание кик-бек": 1,
|
||||
"Разгибание локтей в наклоне": 1,
|
||||
"Разгибание ног": "Разгибание ног сидя",
|
||||
"Разгибание ног сидя": "Разгибание ног сидя",
|
||||
"Разгибание ног сидя (4х10)": "Разгибание ног сидя",
|
||||
"Разгибание прямых рук сидя": 1,
|
||||
"Разгибание рук в кроссовере": 1,
|
||||
"Разгибание рук в тренажёре для трицепса": 1,
|
||||
"Разгибание рук в трицепс машине (3х10)": 1,
|
||||
"Разгибание рук сидя": 5,
|
||||
"Разгибание рук сидя (локти в стороны)": 1,
|
||||
"Разгибание рук сидя (трицепс машина)": 1,
|
||||
"Разгибание рук стоя с канатом": 1,
|
||||
"Разгибание спины": 1,
|
||||
"Румынская тяга": "Румынская тяга",
|
||||
"Румынская тяга с гантелями": "Румынская тяга",
|
||||
"Румынская тяна": "Румынская тяга",
|
||||
"Румынская тяоа": "Румынская тяга",
|
||||
"Сведение на скамейке": 1,
|
||||
"Сведение рук в пек дек": "Сведение рук в пек-дек",
|
||||
"Сведение рук в пек дек зэ": "Сведение рук в пек-дек",
|
||||
"Сведение рук в тренажере": "Сведение рук в пек-дек",
|
||||
"Сведение рук в тренажёре пёк дек": "Сведение рук в пек-дек",
|
||||
"Сведение рук пек дек": "Сведение рук в пек-дек",
|
||||
"Сведение рук пек дек (бабочка)": "Сведение рук в пек-дек",
|
||||
"Сведение рук сидя": "Сведение рук в пек-дек",
|
||||
"Сведение рук сидя пек дек": "Сведение рук в пек-дек",
|
||||
"Сведения рук пек дек": "Сведение рук в пек-дек",
|
||||
"Сгибание гантелей в стиле молот одновременно": 1,
|
||||
"Сгибание ног": "Сгибание ног сидя",
|
||||
"Сгибание ног лежа": "Сгибание ног лежа",
|
||||
"Сгибание ног лежа (медленно разгибать)": "Сгибание ног лежа",
|
||||
"Сгибание ног лёжа": "Сгибание ног лежа",
|
||||
"Сгибание ног сидя": "Сгибание ног сидя",
|
||||
"Сгибание ног сидя (3х12)": "Сгибание ног сидя",
|
||||
"Сгибание рук с гантелями стоя": "Подъем гантелей на бицепс стоя",
|
||||
"Сгибание рук с гантелями стоя ям": "Подъем гантелей на бицепс стоя",
|
||||
"Сгибание со штангой стоя (3х12)": "Подъем штанги на бицепс стоя",
|
||||
"Сгибания ног лежа": "Сгибание ног лежа",
|
||||
"Сгибания рук со штангой стоя": "Подъем штанги на бицепс стоя",
|
||||
"Силовой тренажер": 1,
|
||||
"Скручивания на мяче": 2,
|
||||
"Трацепс": 1,
|
||||
"Трицепс вниз у стойки": 1,
|
||||
"Трицепс машина": 4,
|
||||
"Трицепс сидя": 1,
|
||||
"Трицепс-машина (разгибание рук сидя)": "Разгибание рук сидя (трицепс машина)",
|
||||
"Тяга Т гриф": 1,
|
||||
"Тяга в наклоне": 1,
|
||||
"Тяга вертикального блока": "Тяга вертикального блока",
|
||||
"Тяга вертикального блока обратным хватом": "Тяга вертикального блока (обратный хват)",
|
||||
"Тяга верхнего блока": "Тяга вертикального блока",
|
||||
"Тяга верхнего блока обратным хватом": "Тяга вертикального блока (обратный хват)",
|
||||
"Тяга вниз обратным хватом сидя (фитнес станция)": "Тяга вертикального блока (обратный хват)",
|
||||
"Тяга вниз сидя": "Тяга вертикального блока",
|
||||
"Тяга гантелей в наклоне": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантелей к поясу лёжа на скамейке 40⁰": "Тяга гантелей на скамье",
|
||||
"Тяга гантелей к поясу стоя в наклоне": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантелей лежа на животе на скамье 80°": "Тяга гантелей на скамье",
|
||||
"Тяга гантели в наклоне": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели в наклоне (гантеля поочередно)": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели в наклоне (к поясу одной рукой)": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели в наклоне одной рукой": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели к корпусу в наклоне же": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели к поясу": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели к поясу в наклоне": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели к поясу в наклоне одной рукой": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели к поясу в стойке": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели к поясу одной рукой у стойки": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели одной рукой в наклоне": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантели одной рукой в стойке": "Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга горизонтально блока": "Тяга горизонтального блока",
|
||||
"Тяга горизонтального блок": "Тяга горизонтального блока",
|
||||
"Тяга горизонтального блока": "Тяга горизонтального блока",
|
||||
"Тяга горизонтального блока (1 рука)": "Тяга горизонтального блока (поочереди)",
|
||||
"Тяга горизонтального блока дю": "Тяга горизонтального блока",
|
||||
"Тяга горизонтального блока одной рукой": "Тяга горизонтального блока (поочереди)",
|
||||
"Тяга горизонтального блока одной рукой (поочерёдно)": "Тяга горизонтального блока (поочереди)",
|
||||
"Тяга горизонтального блокай": "Тяга горизонтального блока",
|
||||
"Тяга на себя": "Тяга горизонтального блока",
|
||||
"Тяга на себя с упором в грудь": 1,
|
||||
"Тяга на себя сидя": 3,
|
||||
"Тяга ногами": 1,
|
||||
"Тяга ногами вниз": 1,
|
||||
"Тяга обратным хватом штанги к поясу": 1,
|
||||
"Тяга одной рукой в кроссовере": 1,
|
||||
"Тяга одной рукой в кроссовере на колене": 1,
|
||||
"Тяга руки в кроссовере до": 1,
|
||||
"Тяга рычага к груди": 1,
|
||||
"Тяга сидя вниз обратным хватом": 1,
|
||||
"Тяга т грифа": 1,
|
||||
"Тяга штанги в наклоне": 7,
|
||||
"Тяга штанги в наклоне к груди": 1,
|
||||
"Тяга штанги в наклоне к поясу": 1,
|
||||
"Тяга штанги в наклоне к поясу обратным хватом": 1,
|
||||
"Тяга штанги в наклоне обратным хватом": 1,
|
||||
"Тяга штанги к поясу в наклоне": 1,
|
||||
"Тяга штанги к поясу стоя": 1,
|
||||
"Тяга штанги стоя": 1,
|
||||
"Штанга": 2,
|
||||
"Штанга в наклоне": 1,
|
||||
"Штанга лежа": 1,
|
||||
"Штанга стоя": 1,
|
||||
"тяга горизонтального блока": "Тяга горизонтального блока",
|
||||
}
|
||||
|
||||
|
||||
backup = {
|
||||
"Батерфляй": 1,
|
||||
"Баттерфляй": 16,
|
||||
"Баттерфляй дю": 1,
|
||||
"Бицепс на лавке 45⁰": 1,
|
||||
"Болгарский присед": 1,
|
||||
"Брусья": 1,
|
||||
"Брусья (гравитрон)": 1,
|
||||
"Брусья в тренажере": 1,
|
||||
"Брусья прямые ноги": 1,
|
||||
"Брусья узким хватом": 1,
|
||||
"Брусья узким хватом за": 1,
|
||||
"Брусья широким хватом": 3,
|
||||
"Брусья-прямые ноги": 1,
|
||||
"ГАК машина": 1,
|
||||
"Гакк машина": 3,
|
||||
"Гакк присед": 2,
|
||||
"Гантели": 1,
|
||||
"Гантели к поясу лежа на скамье": 1,
|
||||
"Гантели молот": 1,
|
||||
"Гантели на лавках": 1,
|
||||
"Гантели-молот": 1,
|
||||
"Гипекстензия": 1,
|
||||
"Гиперэкстензия": 13,
|
||||
"Горизонтальна тяга на себя": 1,
|
||||
"Горизонтальная тяга блока": 1,
|
||||
"Гравитрон": 30,
|
||||
"Гравитрор": 1,
|
||||
"Гребная тяга": 2,
|
||||
"Гребная тяга с упором в грудь": 7,
|
||||
"Гребная тяга с упором в грудь как": 1,
|
||||
"Гребная тяга с упором на грудь": 5,
|
||||
"Гребная тяга сидя (одна рука)": 1,
|
||||
"Гребная тяга сидя одной рукой": 1,
|
||||
"Гребная тяга сидя с упором в грудт": 1,
|
||||
"Гребная тяга сидя с упором в грудь": 1,
|
||||
"Гребная тяга сидя с упором в грудь (одной рукой рычаг)": 1,
|
||||
"Гребная тяга\xa0 упором в грудьс": 1,
|
||||
"Жим в тренажере вверх": 1,
|
||||
"Жим в тренажере на плечи блочный (3х12)": 1,
|
||||
"Жим в тренажёре на плечи (силовой тренажёр: жим сидя)": 1,
|
||||
"Жим вверх 80⁰": 1,
|
||||
"Жим гантелей": 3,
|
||||
"Жим гантелей 45⁰": 3,
|
||||
"Жим гантелей 60⁰": 1,
|
||||
"Жим гантелей 80⁰": 3,
|
||||
"Жим гантелей 90⁰": 3,
|
||||
"Жим гантелей вверх 80⁰": 1,
|
||||
"Жим гантелей вверх 90⁰": 1,
|
||||
"Жим гантелей вверх сидя 90⁰": 1,
|
||||
"Жим гантелей лежа": 10,
|
||||
"Жим гантелей лежа 15⁰": 1,
|
||||
"Жим гантелей лежа 30⁰": 1,
|
||||
"Жим гантелей лежа на скамье": 1,
|
||||
"Жим гантелей лёжа": 3,
|
||||
"Жим гантелей лёжа на скамье": 2,
|
||||
"Жим гантелей на скамье": 1,
|
||||
"Жим гантелей на скамье 45⁰": 1,
|
||||
"Жим гантелей сидя": 3,
|
||||
"Жим гантелей сидя 80⁰": 2,
|
||||
"Жим гантелей сидя 90⁰": 2,
|
||||
"Жим гантелей сидя на скамейке": 1,
|
||||
"Жим гантелей стоя": 2,
|
||||
"Жим л груди в тренажёре": 1,
|
||||
"Жим лежа": 6,
|
||||
"Жим ногами": 15,
|
||||
"Жим ногами (3х15)": 1,
|
||||
"Жим ногами (медленно вниз)": 1,
|
||||
"Жим ногами лежа": 1,
|
||||
"Жим ногами медленно": 1,
|
||||
"Жим от груди": 2,
|
||||
"Жим от груди (сидя, тренажёр)": 1,
|
||||
"Жим от груди в тренажере сидя": 1,
|
||||
"Жим от груди в тренажёре (кирпичики)": 1,
|
||||
"Жим от груди сидя": 5,
|
||||
"Жим от груди сидя (блинчики)": 2,
|
||||
"Жим от груди сидя в тренажере": 3,
|
||||
"Жим от груди сидя в тренажере (около трицепс машины)": 1,
|
||||
"Жим от груди сидя в тренажере (рычаги)": 1,
|
||||
"Жим от груди сидя в тренажере рычаги": 1,
|
||||
"Жим от груди сидя в тренажёре": 3,
|
||||
"Жим от груди сидя в тренажёре (блинчики)": 1,
|
||||
"Жим от груди сидя в тренажёре (рычаги)": 1,
|
||||
"Жим от плеч (рычаги)": 1,
|
||||
"Жим от плеч вверх": 12,
|
||||
"Жим от плеч вверх в тренажёре": 1,
|
||||
"Жим от плеч вверх сидя": 1,
|
||||
"Жим от плеч вверх сидя 80⁰": 1,
|
||||
"Жим от плеч вверх сидя в тренажере": 1,
|
||||
"Жим от плеч сидя": 2,
|
||||
"Жим от плеч сидя (рычаги)": 3,
|
||||
"Жим от плеч сидя зэ": 1,
|
||||
"Жим от плеч сидя хз": 1,
|
||||
"Жим от плечей вверх": 1,
|
||||
"Жим плечами вверх сидя": 1,
|
||||
"Жим сидя 45⁰": 1,
|
||||
"Жим штанги 45⁰": 2,
|
||||
"Жим штанги в наклоне": 1,
|
||||
"Жим штанги лежа": 1,
|
||||
"Жим штанги сидя 45⁰": 1,
|
||||
"Жим штанги стля": 1,
|
||||
"Жим штанги стоя": 1,
|
||||
"Жис гантелей лежа": 1,
|
||||
"Жис сидя в тренажёре": 1,
|
||||
"Махи в наклоне с упором": 1,
|
||||
"Молот назад двумя руками": 1,
|
||||
"Молот трицепс стоя": 1,
|
||||
"Молоты": 1,
|
||||
"Наклонная тяга (скамья)": 1,
|
||||
"Наклоны с прямой спиной": 1,
|
||||
"Отведение в кроссовере одной рукой": 1,
|
||||
"Отведение в рук в наклоне": 1,
|
||||
"Отведение назад в пек дек": 1,
|
||||
"Отведение назад в тренажере пек дек": 1,
|
||||
"Отведение назад в тренажере пэк дэк (3х12)": 1,
|
||||
"Отведение рук в кроссовере": 1,
|
||||
"Отведение рук в стороны с гантелями стоя": 1,
|
||||
"Отведение рук в стороны стоя с гантелями": 1,
|
||||
"Отведение рук назад в пек дек": 1,
|
||||
"Отведение рук с гантелями стоя": 2,
|
||||
"Отведение рук стоя с гантелями": 1,
|
||||
"Отведение руки в кроссовере": 2,
|
||||
"Отведение руки в кроссовере (одной рукой)": 1,
|
||||
"Отведение руки в кроссовере (по одной руке)": 2,
|
||||
"Отведение руки в кроссовере на каждую руку": 1,
|
||||
"Отведение руки в кроссовкре": 1,
|
||||
"Отведение руки в сторону": 1,
|
||||
"Отведение руки в сторону в кроссовере (каждая рука)": 1,
|
||||
"Отведение руки стоя": 2,
|
||||
"Отведение руки стоя снизу вверх": 1,
|
||||
"Отжимания": 16,
|
||||
"Отжимания на брусьях": 7,
|
||||
"Отжимания на брусьях узким хватом": 1,
|
||||
"Отжимания на брусьях широким хватом": 3,
|
||||
"Пек дек (отведение назад)": 1,
|
||||
"Пек дек разведение рук в стороны": 1,
|
||||
"Подтягивание на заднюю дельту в петлях": 1,
|
||||
"Подтягивание ног на ручнике": 1,
|
||||
"Подтягивание ног на турнике": 2,
|
||||
"Подтягивание ног прямых вися на турнике": 1,
|
||||
"Подтягивания": 8,
|
||||
"Подтягивания в гравитроне": 1,
|
||||
"Подтягивания на резинке": 1,
|
||||
"Подтягивания обратным хватом": 8,
|
||||
"Подтяотвания": 1,
|
||||
"Подъем коленей на турнике": 1,
|
||||
"Подъем ног на турнике": 4,
|
||||
"Подъем штанги стоя": 2,
|
||||
"Подъёмы ног на турнике": 1,
|
||||
"Подьем штанги стоя": 1,
|
||||
"Присд на одну ногу (по очереди)": 1,
|
||||
"Присед на одну ногу": 1,
|
||||
"Присед на одну ногу (каждая)": 1,
|
||||
"Приседания": 16,
|
||||
"Приседания на одной ноге": 1,
|
||||
"Разведение рук в кроссовере на трицепс": 1,
|
||||
"Разведение рук в наклоне": 2,
|
||||
"Разведение рук в налоне": 1,
|
||||
"Разведение рук в пек дек": 6,
|
||||
"Разведение рук в стороны": 14,
|
||||
"Разведение рук в стороны (дельт-машина)": 3,
|
||||
"Разведение рук в стороны (дельта-машина)": 1,
|
||||
"Разведение рук в стороны (пек дек)": 1,
|
||||
"Разведение рук в стороны в наклоне 90⁰": 2,
|
||||
"Разведение рук в стороны в наклоне с гантелями": 1,
|
||||
"Разведение рук в стороны в пекдек": 1,
|
||||
"Разведение рук в стороны в тренажёре": 1,
|
||||
"Разведение рук в стороны в тренажёре Дж": 1,
|
||||
"Разведение рук в стороны пек дек": 2,
|
||||
"Разведение рук в стороны с гантелям": 1,
|
||||
"Разведение рук в стороны стоя": 2,
|
||||
"Разведение рук в стороны стоя с гантелями": 2,
|
||||
"Разведение рук в стрроны": 1,
|
||||
"Разведение рук назад в пек дек": 1,
|
||||
"Разведение рук назад пек дек": 1,
|
||||
"Разведение рук пек дек": 4,
|
||||
"Разведение рук сидя": 3,
|
||||
"Разведение рук сидя с прямыми руками в тренажере": 1,
|
||||
"Разведение рук стоя с гантелями": 1,
|
||||
"Разгибание из за головы": 1,
|
||||
"Разгибание кик-бек": 1,
|
||||
"Разгибание локтей в наклоне": 1,
|
||||
"Разгибание ног": 5,
|
||||
"Разгибание ног сидя": 22,
|
||||
"Разгибание ног сидя (4х10)": 1,
|
||||
"Разгибание прямых рук сидя": 1,
|
||||
"Разгибание рук в кроссовере": 1,
|
||||
"Разгибание рук в тренажёре для трицепса": 1,
|
||||
"Разгибание рук в трицепс машине (3х10)": 1,
|
||||
"Разгибание рук сидя": 5,
|
||||
"Разгибание рук сидя (локти в стороны)": 1,
|
||||
"Разгибание рук сидя (трицепс машина)": 1,
|
||||
"Разгибание рук стоя с канатом": 1,
|
||||
"Разгибание спины": 1,
|
||||
"Румынская тяга": 5,
|
||||
"Румынская тяга с гантелями": 1,
|
||||
"Румынская тяна": 2,
|
||||
"Румынская тяоа": 1,
|
||||
"Сведение на скамейке": 1,
|
||||
"Сведение рук в пек дек": 8,
|
||||
"Сведение рук в пек дек зэ": 1,
|
||||
"Сведение рук в тренажере": 1,
|
||||
"Сведение рук в тренажёре пёк дек": 1,
|
||||
"Сведение рук пек дек": 7,
|
||||
"Сведение рук пек дек (бабочка)": 1,
|
||||
"Сведение рук сидя": 3,
|
||||
"Сведение рук сидя пек дек": 1,
|
||||
"Сведения рук пек дек": 1,
|
||||
"Сгибание гантелей в стиле молот одновременно": 1,
|
||||
"Сгибание ног": 2,
|
||||
"Сгибание ног лежа": 14,
|
||||
"Сгибание ног лежа (медленно разгибать)": 1,
|
||||
"Сгибание ног лёжа": 2,
|
||||
"Сгибание ног сидя": 8,
|
||||
"Сгибание ног сидя (3х12)": 1,
|
||||
"Сгибание рук с гантелями стоя": 1,
|
||||
"Сгибание рук с гантелями стоя ям": 1,
|
||||
"Сгибание со штангой стоя (3х12)": 1,
|
||||
"Сгибания ног лежа": 1,
|
||||
"Сгибания рук со штангой стоя": 1,
|
||||
"Силовой тренажер": 1,
|
||||
"Скручивания на мяче": 2,
|
||||
"Трацепс": 1,
|
||||
"Трицепс вниз у стойки": 1,
|
||||
"Трицепс машина": 4,
|
||||
"Трицепс сидя": 1,
|
||||
"Трицепс-машина (разгибание рук сидя)": 1,
|
||||
"Тяга Т гриф": 1,
|
||||
"Тяга в наклоне": 1,
|
||||
"Тяга вертикального блока": 15,
|
||||
"Тяга вертикального блока обратным хватом": 5,
|
||||
"Тяга верхнего блока": 3,
|
||||
"Тяга верхнего блока обратным хватом": 1,
|
||||
"Тяга вниз обратным хватом сидя (фитнес станция)": 1,
|
||||
"Тяга вниз сидя": 2,
|
||||
"Тяга гантелей в наклоне": 3,
|
||||
"Тяга гантелей к поясу лёжа на скамейке 40⁰": 1,
|
||||
"Тяга гантелей к поясу стоя в наклоне": 1,
|
||||
"Тяга гантелей лежа на животе на скамье 80°": 1,
|
||||
"Тяга гантели в наклоне": 4,
|
||||
"Тяга гантели в наклоне (гантеля поочередно)": 1,
|
||||
"Тяга гантели в наклоне (к поясу одной рукой)": 1,
|
||||
"Тяга гантели в наклоне одной рукой": 1,
|
||||
"Тяга гантели к корпусу в наклоне же": 1,
|
||||
"Тяга гантели к поясу": 1,
|
||||
"Тяга гантели к поясу в наклоне": 1,
|
||||
"Тяга гантели к поясу в наклоне одной рукой": 1,
|
||||
"Тяга гантели к поясу в стойке": 1,
|
||||
"Тяга гантели к поясу одной рукой у стойки": 1,
|
||||
"Тяга гантели одной рукой в наклоне": 1,
|
||||
"Тяга гантели одной рукой в стойке": 1,
|
||||
"Тяга горизонтально блока": 1,
|
||||
"Тяга горизонтального блок": 1,
|
||||
"Тяга горизонтального блока": 14,
|
||||
"Тяга горизонтального блока (1 рука)": 1,
|
||||
"Тяга горизонтального блока дю": 1,
|
||||
"Тяга горизонтального блока одной рукой": 4,
|
||||
"Тяга горизонтального блока одной рукой (поочерёдно)": 1,
|
||||
"Тяга горизонтального блокай": 1,
|
||||
"Тяга на себя": 3,
|
||||
"Тяга на себя с упором в грудь": 1,
|
||||
"Тяга на себя сидя": 3,
|
||||
"Тяга ногами": 1,
|
||||
"Тяга ногами вниз": 1,
|
||||
"Тяга обратным хватом штанги к поясу": 1,
|
||||
"Тяга одной рукой в кроссовере": 1,
|
||||
"Тяга одной рукой в кроссовере на колене": 1,
|
||||
"Тяга руки в кроссовере до": 1,
|
||||
"Тяга рычага к груди": 1,
|
||||
"Тяга сидя вниз обратным хватом": 1,
|
||||
"Тяга т грифа": 1,
|
||||
"Тяга штанги в наклоне": 7,
|
||||
"Тяга штанги в наклоне к груди": 1,
|
||||
"Тяга штанги в наклоне к поясу": 1,
|
||||
"Тяга штанги в наклоне к поясу обратным хватом": 1,
|
||||
"Тяга штанги в наклоне обратным хватом": 1,
|
||||
"Тяга штанги к поясу в наклоне": 1,
|
||||
"Тяга штанги к поясу стоя": 1,
|
||||
"Тяга штанги стоя": 1,
|
||||
"Штанга": 2,
|
||||
"Штанга в наклоне": 1,
|
||||
"Штанга лежа": 1,
|
||||
"Штанга стоя": 1,
|
||||
"тяга горизонтального блока": 1,
|
||||
}
|
131
apple/notes_parser.py
Normal file
131
apple/notes_parser.py
Normal file
|
@ -0,0 +1,131 @@
|
|||
import os
|
||||
import re
|
||||
from typing import List, Tuple
|
||||
from datetime import datetime
|
||||
|
||||
from obsidian.py_models import Approach, Exercise, Training
|
||||
|
||||
current_directory = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
def get_current_path():
|
||||
return current_directory
|
||||
|
||||
|
||||
def get_obsidian_examples_file(example_file_name: str):
|
||||
return os.path.join(get_current_path(), f"examples/{example_file_name}")
|
||||
|
||||
|
||||
def read_example_file(example_file_name: str):
|
||||
path_to_example: str = get_obsidian_examples_file(example_file_name)
|
||||
with open(path_to_example, "r") as f:
|
||||
content = f.read()
|
||||
return content
|
||||
|
||||
|
||||
def filter_training_data(training_data: str):
|
||||
cleaned_text = re.sub(
|
||||
r"^\|(\s+|-*|\s-*\s)\|(\s+|-*|\s-*\s)\|(\s+|-*|\s-*\s)\|$",
|
||||
"",
|
||||
training_data,
|
||||
flags=re.MULTILINE,
|
||||
)
|
||||
cleaned_text = re.sub(r"^\n", "", cleaned_text, flags=re.MULTILINE)
|
||||
lines = cleaned_text.splitlines()
|
||||
redundant_lines = [
|
||||
"| | | |",
|
||||
"|---|---|---|",
|
||||
"|**Упражнение**|**Вес**|**Подходы**|",
|
||||
]
|
||||
filtered_lines = [line for line in lines if line not in redundant_lines]
|
||||
return "\n".join(filtered_lines)
|
||||
|
||||
|
||||
def parse_training_header(
|
||||
training_data_line: str,
|
||||
) -> Tuple[bool, str, str, str]:
|
||||
pattern: str = (
|
||||
r"^\*\*(?P<date>\d+.\d+.\d+)\s\((?P<trainer>.+)(-(?P<year_counter>.+))?\)\*\*"
|
||||
)
|
||||
match = re.search(pattern, training_data_line)
|
||||
if match:
|
||||
date = match.group("date").strip()
|
||||
trainer = match.group("trainer").strip()
|
||||
if match.group("year_counter"):
|
||||
year_count = match.group("year_counter").strip()
|
||||
else:
|
||||
year_count = 0
|
||||
return True, date, trainer, year_count
|
||||
return False, "", "", ""
|
||||
|
||||
|
||||
def serialize_exercise(reps: str, weight: str, name: str) -> Exercise:
|
||||
# Split reps into array of int's
|
||||
reps: List[int] = [int(rep) for rep in reps.split("-")]
|
||||
weight_splitted: bool = False
|
||||
if weight:
|
||||
weight: List[str] = [weight for weight in weight.split("-")]
|
||||
# Check if weight is splitted
|
||||
if any(split_anchor in weight[0] for split_anchor in ["x", "х"]):
|
||||
weight_splitted = True
|
||||
splitter = "x" if "x" in weight[0] else "х"
|
||||
weight: List[float] = [xweight.split(splitter)[0] for xweight in weight]
|
||||
approaches = []
|
||||
if not weight:
|
||||
for rep_index in range(0, len(reps)):
|
||||
approach = Approach(weight=0, reps=reps[rep_index])
|
||||
approaches.append(approach)
|
||||
else:
|
||||
weight_pointer = 0
|
||||
for rep_index in range(0, len(reps)):
|
||||
approach = Approach(weight=weight[weight_pointer], reps=reps[rep_index])
|
||||
if rep_index < len(weight) - 1:
|
||||
weight_pointer += 1
|
||||
approaches.append(approach)
|
||||
exercise = Exercise(
|
||||
name=name, approaches=approaches, splitted_weight=weight_splitted
|
||||
)
|
||||
return exercise
|
||||
|
||||
|
||||
def parse_training_exercises(exercise_line: str) -> Exercise:
|
||||
stripped: List[str] = [entry.strip() for entry in exercise_line.split("|")][1:-1]
|
||||
for entry in stripped:
|
||||
if entry in ["Упражнение", "Вес", "Подходы"]:
|
||||
raise ValueError
|
||||
if stripped:
|
||||
if "---" in stripped[0]:
|
||||
raise ValueError
|
||||
if len(stripped) != 3:
|
||||
raise ValueError
|
||||
return serialize_exercise(
|
||||
name=stripped[0], weight=stripped[1], reps=stripped[2]
|
||||
)
|
||||
|
||||
|
||||
def parse_training_data():
|
||||
training_data: str = filter_training_data(read_example_file("full.txt"))
|
||||
lines = training_data.splitlines()
|
||||
current_training = None
|
||||
trains = []
|
||||
for index, line in enumerate(lines):
|
||||
header_parsed, date, trainer, year_count = parse_training_header(line)
|
||||
if index == len(lines) - 1:
|
||||
trains.append(current_training)
|
||||
if header_parsed:
|
||||
trains.append(current_training)
|
||||
try:
|
||||
current_training = Training(
|
||||
date=datetime.strptime(date, "%d.%m.%Y").date(), exercises=[]
|
||||
)
|
||||
except ValueError:
|
||||
current_training = Training(
|
||||
date=datetime.strptime(date, "%d.%m.%y").date(), exercises=[]
|
||||
)
|
||||
continue
|
||||
try:
|
||||
exr = parse_training_exercises(line)
|
||||
current_training.exercises.append(exr)
|
||||
except ValueError:
|
||||
pass
|
||||
return trains[1:]
|
59
main.py
59
main.py
|
@ -6,6 +6,7 @@ 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, remap_unique_exercises
|
||||
from apple.notes_parser import parse_training_data as apple_parse_training_data
|
||||
from obsidian.py_models import Training
|
||||
|
||||
|
||||
|
@ -79,9 +80,43 @@ engine = create_engine(
|
|||
|
||||
# -----
|
||||
|
||||
# Calculating unique exercises
|
||||
# Calculating unique exercises for obsidian
|
||||
|
||||
trainings: List[Training] = parse_training_data()
|
||||
# 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)
|
||||
|
||||
# Apple notes playground
|
||||
|
||||
trainings: List[Training] = apple_parse_training_data()
|
||||
|
||||
|
||||
unique_exercise_names = defaultdict(int)
|
||||
|
@ -92,23 +127,9 @@ for train in trainings:
|
|||
continue
|
||||
if train.exercises:
|
||||
for exr in train.exercises:
|
||||
counter += 1
|
||||
unique_exercise_names[exr.name] += 1
|
||||
if exr:
|
||||
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)
|
||||
|
|
50
utils/enums.py
Normal file
50
utils/enums.py
Normal file
|
@ -0,0 +1,50 @@
|
|||
list_of_unique_names = [
|
||||
# Apple
|
||||
"Жим лежа",
|
||||
"Жим ногами (гакк-машина)",
|
||||
"Подъем ног на турнике",
|
||||
# Obsidian
|
||||
"Тяга горизонтального блока",
|
||||
"Тяга горизонтального блока (поочереди)",
|
||||
"Тяга гантелей в наклоне (поочереди)",
|
||||
"Тяга гантелей на скамье",
|
||||
"Тяга вертикального блока",
|
||||
"Тяга вертикального блока (обратный хват)",
|
||||
"Разгибание рук сидя (трицепс машина)",
|
||||
"Подъем штанги на бицепс стоя",
|
||||
"Подъем гантелей на бицепс стоя",
|
||||
"Подъем гантелей на бицепс сидя",
|
||||
"Сгибание ног сидя",
|
||||
"Сгибание ног лежа",
|
||||
"Сведение рук в пек-дек",
|
||||
"Румынская тяга",
|
||||
"Разгибание ног сидя",
|
||||
"Разведение рук в стороны стоя (гантели)",
|
||||
"Разведение рук в стороны в наклоне (гантели)",
|
||||
"Приседания",
|
||||
"Подъём ног в висе",
|
||||
"Подтягивания",
|
||||
"Подтягивания обратным хватом",
|
||||
"Отжимания",
|
||||
"Отведение рук в кроссовере (поочереди)",
|
||||
"Разведение рук в пек-дек (поочереди)",
|
||||
"Разведение рук в пек-дек",
|
||||
"Отжимание на трицепс в кроссовере",
|
||||
"Баттерфляй",
|
||||
"Болгарские сплит-приседения",
|
||||
"Брусья",
|
||||
"Вертикальная тяга одной рукой",
|
||||
"Выпады",
|
||||
"Гиперэкстензия",
|
||||
"Гравитрон",
|
||||
"Гребная тяга с упором в грудь",
|
||||
"Гребная тяга с упором в грудь (поочереди)",
|
||||
"Разведение рук в стороны (дельт-машина)",
|
||||
"Жим гантелей лежа",
|
||||
"Жим гантелей лежа (Под углом 45 градусов)",
|
||||
"Жим гантелей сидя",
|
||||
"Жим ногами",
|
||||
"Жим от груди сидя в тренажере (рычаги)",
|
||||
"Жим от плеч вверх в тренажере (рычаги)",
|
||||
"Икроножные сидя",
|
||||
]
|
Loading…
Reference in a new issue