fix: баг выбора категории (III выбиралась как I) + «Заполните…» не попадает в обоснование
- проверка категории через regex с границей слова: «Категория значимости: I» была подстрокой «…III», из-за чего III выбиралась как I - если расчёт не удался (в result «Заполните…») — ничего не применяется и не пишется в обоснование
This commit is contained in:
+6
-6
@@ -2342,15 +2342,15 @@ class DokoGenApp:
|
|||||||
def _apply():
|
def _apply():
|
||||||
_calc()
|
_calc()
|
||||||
txt = result.get('1.0', 'end-1c').strip()
|
txt = result.get('1.0', 'end-1c').strip()
|
||||||
|
# Если расчёт не удался (ошибка «Заполните…») — не применяем и не пишем в обоснование
|
||||||
|
if txt.startswith('Заполните'):
|
||||||
|
return
|
||||||
lines = txt.split('\n')
|
lines = txt.split('\n')
|
||||||
cat_line = next((l for l in lines if l.startswith('Категория значимости:')), '')
|
cat_line = next((l for l in lines if l.startswith('Категория значимости:')), '')
|
||||||
cat = None
|
cat = None
|
||||||
if 'Категория значимости: I' in cat_line:
|
m = _re2.search(r'Категория значимости:\s*(I{1,3})\b', cat_line)
|
||||||
cat = 'I'
|
if m:
|
||||||
elif 'Категория значимости: II' in cat_line:
|
cat = m.group(1)
|
||||||
cat = 'II'
|
|
||||||
elif 'Категория значимости: III' in cat_line:
|
|
||||||
cat = 'III'
|
|
||||||
if cat:
|
if cat:
|
||||||
opts = list(combo['values'])
|
opts = list(combo['values'])
|
||||||
target = next((o for o in opts if o.startswith(f"{cat} категория")), None)
|
target = next((o for o in opts if o.startswith(f"{cat} категория")), None)
|
||||||
|
|||||||
Reference in New Issue
Block a user