diff --git a/app/view.py b/app/view.py index b83b2c0..caf339d 100644 --- a/app/view.py +++ b/app/view.py @@ -67,6 +67,20 @@ def render_job(job: dict) -> str: # Внутри в тексте # закрыла бы тег и всё, что дальше, браузер прочитал бы как разметку. + if sentences: + roles_block = ( + '
Вставьте ответ модели - строку из букв M и C, ' + 'по одной на предложение. Диалог соберётся ниже, и станет видно, ' + 'где ошибка: в тексте от сервиса или в расстановке ролей.
' + '') + else: + # Массив предложений появился в 0.14.0. Без него собирать диалог не из + # чего, и молчаливо пустой блок выглядел бы поломкой страницы. + roles_block = ( + '
В этом результате нет разбивки на предложения: ' + 'запись обработана версией сервиса старше 0.14.0. Отправьте её заново, ' + 'чтобы собрать диалог по ролям.
') + payload = json.dumps( [{"n": s["n"], "text": s["text"], "start": s["start"]} for s in sentences], ensure_ascii=False).replace("<", "\\u003c").replace("\u2028", "\\u2028") @@ -119,10 +133,7 @@ def render_job(job: dict) -> str: {"".join(rows) or "
реплик нет
"}

Разметка ролей

-
Вставьте ответ модели - строку из букв M и C, по одной -на предложение. Диалог соберётся ниже, и станет видно, где ошибка: -в тексте от сервиса или в расстановке ролей.
- +{roles_block}
@@ -151,5 +162,5 @@ function draw() {{ buf.push(s.text.replace(/[&<>]/g, c => ({{'&':'&','<':'<','>':'>'}})[c])); }}); flush(); out.innerHTML = html; }} -box.addEventListener('input', draw); +if (box) box.addEventListener('input', draw); """ diff --git a/tests/test_view.py b/tests/test_view.py index de295c6..c88ac9f 100644 --- a/tests/test_view.py +++ b/tests/test_view.py @@ -71,3 +71,12 @@ class TestPage: def test_survives_empty_result(self): page = render_job({"job_id": "x", "turns": [], "sentences": [], "duration_sec": 0}) assert "реплик нет" in page + + def test_old_result_explains_missing_sentences(self): + """Результаты до 0.14.0 не содержат предложений - пустой блок выглядел бы поломкой.""" + page = render_job({"job_id": "x", "turns": [], "sentences": [], "duration_sec": 10}) + assert "старше 0.14.0" in page + assert "