diff --git a/eval/dovodka/rol.py b/eval/dovodka/rol.py index ed86744a..483838fc 100644 --- a/eval/dovodka/rol.py +++ b/eval/dovodka/rol.py @@ -691,6 +691,19 @@ READ_HEAD = """ 3. **ХУДОЖЕСТВЕННОСТЬ** — читается ли это как русская проза или как перевод: живой ритм и голос против кальки, канцелярита и подстрочника. +## Как читать — это важнее скорости + +Времени у тебя нет ограничения, и торопиться не надо. Прочти ВСЕ варианты целиком, прежде чем +выстраивать порядок: решение по первым двум, к которому потом подгоняются остальные, — самая +частая порча такого чтения. + +Не выдумывай различий там, где их нет: если два варианта действительно неразличимы, соединяй их +знаком `=`, это законный ответ. И наоборот — не сваливай в кучу то, что различимо: если разница +мелкая, так и скажи, что мелкая, но порядок назови. + +Думай столько, сколько нужно. Ответ на один абзац, выданный быстро, стоит меньше, чем разбор, +в котором видно, ЧЕМ один текст лучше другого. + ## Что записать — в файл `{answer}` 1. **ПОРЯДОК** — строкой: `Т3 > Т1 > Т2 > Т4`, от лучшего к худшему. Неразличимые соединяй `=`. @@ -813,9 +826,21 @@ if __name__ == "__main__": # ⚠ ОДНА ГЛАВА — ОДИН ПАКЕТ, решение владельца 20.08: главы большие, читателю с # несколькими сразу тяжело, и он начинает экономить внимание на последних. PAIRS[x]["wire"]() + skipped = [] for k, u in enumerate(chosen(x)[:_n], 1): - emit_read(x, 1, tuple(_pan), f"{_tag}-{u['uid'][:8]}" if _tag else u["uid"][:8], - only_uid=u["uid"]) + try: + emit_read(x, 1, tuple(_pan), f"{_tag}-{u['uid'][:8]}" if _tag else u["uid"][:8], + only_uid=u["uid"]) + except SystemExit as e: + # ⚠ ГЛАВА С НЕПОЛНОЙ ПАНЕЛЬЮ ПРОПУСКАЕТСЯ, А НЕ РОНЯЕТ ВЕСЬ ЦИКЛ. Первая + # редакция падала на первой же такой главе, и из 16 пакетов собралось 5 — + # причём молча выглядело как «панель полна только на пяти». Пропуск + # ПЕЧАТАЕТСЯ числом: тихо потерянная глава хуже, чем громко пропущенная. + skipped.append((u["uid"][:10], str(e)[:60])) + if skipped: + print(f" ⚠ ПРОПУЩЕНО глав с неполной панелью: {len(skipped)}") + for uid, why in skipped: + print(f" {uid}: {why}") elif a[0] == "--score-read": score_read() elif a[0] == "--coverage":