fix: баг выбора категории (III выбиралась как I) + «Заполните…» не попадает в обоснование
- проверка категории через regex с границей слова: «Категория значимости: I» была подстрокой «…III», из-за чего III выбиралась как I - если расчёт не удался (в result «Заполните…») — ничего не применяется и не пишется в обоснование
This commit is contained in:
+6
-6
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user