dnd5-scripts/TASKS.md

3.2 KiB
Raw Blame History

План работ по рефакторингу API и расширению тестов

1. Рефакторинг vault_utils.py

  • Заменить единый vault_query с хардкодом строк на экспортируемые прямые функции.
  • Обновить XML-doc (docstrings) для всех методов.
  • Добавить универсальную функцию get_recent_files (на базе JsonLogic).

2. Рефакторинг faction_utils.py

  • Перевести вызовы с vault_query(...) на прямые вызовы API.
  • Переписать get_all_factions и get_recent_events как обёртки вокруг get_recent_files.

3. Рефакторинг time_utils.py

  • Обновить импорты из vault_utils.
  • Заменить vault_query на прямые методы (get_file, write_file).

4. Исследование Obsidian Local REST API

  • Добавить примеры JSONLogic-запросов и PowerShell-скрипт с сортировкой.
  • Очистить документацию от сбоев форматирования Markdown ссылок.

5. Расширение тестов фракций

  • Дописать интеграционные тесты для get_recent_events, get_location и работы с активами.
  • Расширить тесты логики ходов фракций в test_wwn_mechanics.py.
  • Добавлены setup-тесты для перезаписи тестовых файлов фракций (frontmatter и контент) для детерминированности среды.
  • Убедиться, что текущий набор pytest проходит без ошибок (pytest -v).

План работ и задачи

Исправление ошибок импорта фракций

  • Удалить импорт vault_query в D:/Work/Software_Development/Projects/ttrpg-obsidian-vault/scripts/faction_turns/resolve_faction_turn.py
  • Удалить импорт vault_query в D:/Work/Software_Development/Projects/ttrpg-obsidian-vault/scripts/faction_turns/propose_faction_turn.py
  • Заменить вызов vault_query на прямые вызовы функций в D:/Work/Software_Development/Projects/ttrpg-obsidian-vault/scripts/faction_turns/tests/verify_factions.py

Исправления логики фракций

  • Починить логику Repair Asset для ремонта Base of Influence (цель может не иметь точного совпадения имени) в файле resolve_faction_turn.py
  • Сделать генерацию названий файлов событий (Event files) более читаемой, убрать длинные подчеркивания и дефисы.
  • [✓] Добавить тесты исцеления Base of Influence для обычной и мощной фракций (D:/Work/Software_Development/Projects/ttrpg-obsidian-vault/scripts/faction_turns/tests/test_repair_boi.py)
  • [✓] Запустить и проверить прохождение тестов pytest