refactor(gost): вынести сборку списка литературы в app.bibliography + 7 тестов
Сортировка (кириллица→латиница), нумерация и выбор форматтера жили внутри Celery-задачи с БД и не тестировались — хотя это порядок и вид готового списка литературы, который видит студент. Вынес в чистый app.bibliography.build_bibliography: - нумерация сквозная с 1; total = число записей; - сортировка по фамилии первого автора, кириллица раньше латиницы; - стиль 7.1 → полное описание (format_full), иначе 7.0.5 → краткая ссылка; - doc_id сохраняется в каждой записи; пустой список → total 0. ORM→dict конверсия осталась в задаче (она из БД), поведение сохранено 1:1. Добавлен в mypy-гейт. Тестов всего: 73 (indexer 24, gost 24, gpu 25). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,7 @@ docker run --rm \
|
||||
|
||||
echo '▶ mypy (чистая логика L1/L2 + ГОСТ + скоринг)'
|
||||
( cd services/worker-indexer && mypy --config-file /repo/mypy.ini app/algorithms/ app/fragments.py )
|
||||
( cd services/worker-gost && mypy --config-file /repo/mypy.ini app/formatters/ )
|
||||
( cd services/worker-gost && mypy --config-file /repo/mypy.ini app/formatters/ app/bibliography.py )
|
||||
( cd services/worker-gpu && mypy --config-file /repo/mypy.ini app/scoring.py )
|
||||
"
|
||||
echo "✅ Линт (ruff + mypy) пройден"
|
||||
|
||||
Reference in New Issue
Block a user