#!/usr/bin/env python3
from docx import Document

doc = Document()
doc.add_heading("Мой рацион на 7 дней", 0)
doc.add_paragraph("Персонально для Михаила Смирнова · 46 лет · 182 см · 136 кг · цель −7–14 кг за 3 месяца")
doc.add_paragraph("Норма: 1800–1900 ккал/день · белок 115–135 г · вода 2 л · сахар и сладкие напитки исключены")

days = [
    ("Понедельник", "1850 ккал · Б 128 г",
     [("Завтрак 8:00", "Овсянка 60 г + молоко 2,5% 250 мл + орехи 15 г + яблоко", "420 ккал · Б15/Ж14/У58"),
      ("Перекус 11:00", "Творог 5% 150 г + ягоды 100 г", "200 ккал · Б22/Ж7/У10"),
      ("Обед 14:00", "Рулет из фило с курицей и грибами (1 порция, рецепт с Инсты)", "314 ккал · Б33/У26/Ж9"),
      ("Полдник 17:00", "ПП-торт с ягодами 100 г (рецепт с Инсты)", "83 ккал · Б8/Ж2,8/У6,5"),
      ("Ужин 19:00", "Сырно-кабачковый крем-суп (1 порция, рецепт с Инсты)", "347 ккал · Б36/Ж16/У17")]),
    ("Вторник", "1870 ккал · Б 130 г",
     [("Завтрак 8:00", "Омлет из 3 яиц + овощи + хлеб цельнозерновой 40 г", "380 ккал · Б24/Ж22/У18"),
      ("Перекус 11:00", "Груша + миндаль 15 г", "150 ккал · Б4/Ж10/У12"),
      ("Обед 14:00", "Курино-творожная запеканка (1 порция, рецепт с Инсты)", "326 ккал · Б36/Ж13/У18"),
      ("Полдник 17:00", "Кефир 200 мл + отруби 10 г", "120 ккал · Б8/Ж3/У14"),
      ("Ужин 19:00", "Горбуша 150 г + овощи на пару + гречка 60 г", "420 ккал · Б38/Ж12/У38")]),
    ("Среда", "1830 ккал · Б 125 г",
     [("Завтрак 8:00", "Творог 5% 200 г + банан + корица", "320 ккал · Б30/Ж8/У32"),
      ("Перекус 11:00", "Орехи 20 г + чай без сахара", "130 ккал · Б4/Ж11/У4"),
      ("Обед 14:00", "Куриная грудка 180 г + гречка 90 г + салат", "520 ккал · Б48/Ж10/У55"),
      ("Полдник 17:00", "Яблоко + йогурт 150 мл", "140 ккал · Б6/Ж3/У22"),
      ("Ужин 19:00", "Треска 160 г + картофель запечённый 150 г + овощи", "400 ккал · Б35/Ж8/У45")]),
    ("Четверг", "1860 ккал · Б 126 г",
     [("Завтрак 8:00", "Гречка 70 г + яйцо + салат из овощей", "360 ккал · Б18/Ж12/У45"),
      ("Перекус 11:00", "Творог 100 г + ягоды", "120 ккал · Б15/Ж4/У6"),
      ("Обед 14:00", "Суп куриный с овощами + курица 150 г + хлеб 40 г", "450 ккал · Б35/Ж14/У45"),
      ("Полдник 17:00", "Кефир 200 мл", "100 ккал · Б6/Ж3/У11"),
      ("Ужин 19:00", "Куриная грудка 150 г + овощи гриль", "350 ккал · Б33/Ж9/У25")]),
    ("Пятница", "1900 ккал · Б 135 г",
     [("Завтрак 8:00", "Овсяноблин (овсянка 50 г + яйцо) + творог 100 г", "400 ккал · Б26/Ж16/У38"),
      ("Перекус 11:00", "Яблоко + арахис 15 г", "150 ккал · Б4/Ж10/У12"),
      ("Обед 14:00", "Лосось 150 г + киноа 80 г + овощи", "520 ккал · Б40/Ж20/У42"),
      ("Полдник 17:00", "Йогурт 150 мл", "100 ккал · Б5/Ж3/У12"),
      ("Ужин 19:00", "Индейка 180 г + тушёная капуста", "380 ккал · Б42/Ж12/У22")]),
    ("Суббота", "1840 ккал · Б 120 г",
     [("Завтрак 8:00", "Яйца 2 шт + авокадо 50 г + хлеб 40 г", "380 ккал · Б20/Ж22/У24"),
      ("Перекус 11:00", "Творог 5% 150 г", "170 ккал · Б20/Ж6/У8"),
      ("Обед 14:00", "Борщ на курином бульоне + курица 150 г + сметана 10% 15 г", "450 ккал · Б34/Ж16/У42"),
      ("Полдник 17:00", "Орехи 20 г", "130 ккал · Б4/Ж11/У4"),
      ("Ужин 19:00", "Куриное филе 150 г + запечённые овощи", "340 ккал · Б32/Ж8/У30")]),
    ("Воскресенье", "1870 ккал · Б 130 г",
     [("Завтрак 8:00", "Сырники из творога 200 г + сметана 10% 20 г", "420 ккал · Б34/Ж16/У36"),
      ("Перекус 11:00", "Груша + миндаль 15 г", "150 ккал · Б4/Ж10/У12"),
      ("Обед 14:00", "Говядина 150 г + гречка 90 г + салат", "540 ккал · Б42/Ж18/У50"),
      ("Полдник 17:00", "Кефир 200 мл", "100 ккал · Б6/Ж3/У11"),
      ("Ужин 19:00", "Рыба белая 180 г + овощи на пару", "320 ккал · Б36/Ж6/У18")]),
]

for day, total, meals in days:
    doc.add_heading(day, level=1)
    p = doc.add_paragraph()
    r = p.add_run("Итого: " + total)
    r.bold = True
    tbl = doc.add_table(rows=1, cols=3)
    tbl.style = "Light Grid Accent 1"
    for i, h in enumerate(["Приём", "Блюдо", "КБЖУ"]):
        tbl.rows[0].cells[i].text = h
    for meal, dish, kbju in meals:
        c = tbl.add_row().cells
        c[0].text = meal
        c[1].text = dish
        c[2].text = kbju
    doc.add_paragraph()

doc.add_heading("Список покупок на неделю", level=1)
shopping = [
    ("Белки", "куриное филе ~1 кг, куриный фарш 200 г, индейка 400 г, говядина 300 г, горбуша 150 г, лосось 150 г, треска 160 г, рыба белая 200 г, яйца 12 шт, творог 5% 700 г, греческий йогурт ~500 г, кефир 550 мл, йогурт 300 мл"),
    ("Крупы и хлеб", "овсянка 200 г, гречка 350 г, киноа 80 г, булгур/рис по желанию, хлеб цельнозерновой, отруби, тесто фило (для рулета)"),
    ("Овощи и фрукты", "кабачок 200 г, помидоры 200 г, перец болгарский 200 г, огурцы, капуста, морковь, лук, зелень, картофель 300 г, авокадо 1 шт, яблоки 4 шт, груши 2 шт, банан 1 шт, ягоды 300 г (замороженные ок)"),
    ("Прочее", "сливочный сыр 50 г, сметана 10% 35 г, орехи (миндаль/арахис) ~100 г, соевый соус, специи, соль, сахарозаменитель (стевия)"),
]
for cat, items in shopping:
    p = doc.add_paragraph()
    r = p.add_run(cat + ": ")
    r.bold = True
    p.add_run(items)

doc.add_heading("Мои 37 видео-рецептов (на Диске)", level=1)
doc.add_paragraph("Альбом «26 апреля 2026 – 6 августа 2026» на твоём Яндекс Диске (Храм, папка автозагрузки) — 37 сохранённых роликов @razvedenki_na_pp с рецептами. Это видео-инструкции: смотри их при готовке.")
doc.add_paragraph("Из этих видео уже отобраны 4 рецепта с точным КБЖУ (см. ниже): сырно-кабачковый крем-суп, курино-творожная запеканка, рулет из теста фило, ПП-торт с ягодами. Остальные 33 ролика — блюда в том же стиле (тесто, котлеты, лазанья, блины, салаты, супы, запеканки); разбор ингредиентов каждого — по запросу (это отдельная длительная работа по просмотру видео).")
doc.add_paragraph("Официальный бесплатный рацион «Разведёнок» (2 дня, 1300 ккал) — по ссылке в шапке их профиля (Telegram-канал «РАЦИОН НА 2 ДНЯ»).")

doc.add_heading("Правила", level=1)
for rule in [
    "Ужин до 19:30–20:00, после — только вода или травяной чай",
    "Вода 2 л/день: стакан за 20 мин до еды",
    "Овощи в обед и ужин — без ограничений (кроме картофеля)",
    "Жарить без масла (гриль, антипригарная сковорода, духовка)",
    "Срыв — не страшно: следующий приём снова по плану",
    "Весы раз в неделю утром натощак: фиксируй, я буду следить",
]:
    doc.add_paragraph(rule, style="List Bullet")

doc.save("/root/site/Мой рацион на 7 дней.docx")
print("OK")
