From fafeea4fcff5f962646047fc93a8e51666979e4a Mon Sep 17 00:00:00 2001 From: prog1764 Date: Wed, 5 Aug 2026 00:54:10 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B1=D0=B0=D0=B3=20=D0=B2=D1=8B=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=B0=20=D0=BA=D0=B0=D1=82=D0=B5=D0=B3=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D0=B8=20(III=20=D0=B2=D1=8B=D0=B1=D0=B8=D1=80=D0=B0?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=8C=20=D0=BA=D0=B0=D0=BA=20I)=20+=20=C2=AB?= =?UTF-8?q?=D0=97=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=E2=80=A6?= =?UTF-8?q?=C2=BB=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D0=BF=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B2=20=D0=BE=D0=B1=D0=BE=D1=81=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - проверка категории через regex с границей слова: «Категория значимости: I» была подстрокой «…III», из-за чего III выбиралась как I - если расчёт не удался (в result «Заполните…») — ничего не применяется и не пишется в обоснование --- dokogen/ui.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dokogen/ui.py b/dokogen/ui.py index f266f96..d6587d4 100644 --- a/dokogen/ui.py +++ b/dokogen/ui.py @@ -2342,15 +2342,15 @@ class DokoGenApp: def _apply(): _calc() txt = result.get('1.0', 'end-1c').strip() + # Если расчёт не удался (ошибка «Заполните…») — не применяем и не пишем в обоснование + if txt.startswith('Заполните'): + return lines = txt.split('\n') cat_line = next((l for l in lines if l.startswith('Категория значимости:')), '') cat = None - if 'Категория значимости: I' in cat_line: - cat = 'I' - elif 'Категория значимости: II' in cat_line: - cat = 'II' - elif 'Категория значимости: III' in cat_line: - cat = 'III' + m = _re2.search(r'Категория значимости:\s*(I{1,3})\b', cat_line) + if m: + cat = m.group(1) if cat: opts = list(combo['values']) target = next((o for o in opts if o.startswith(f"{cat} категория")), None)