fix: импортёр отбрасывает текст-подсказки из примечаний; выпадающие списки только для выбора
- importer: фильтр HINT_MARKERS — значения вида «Формулировка должна строиться...», «Например...», «Выберите из...» и т.п. не импортируются в поля объекта - ui: все Combobox (сфера, тип, архитектура, типовой объект, категория/цель/способ сети) — state='readonly', нельзя редактировать вручную
This commit is contained in:
+17
-2
@@ -308,9 +308,24 @@ def _import_187_is_list(wb, data, settings, log_fn):
|
||||
'гарантирован': 'Доверенная загрузка',
|
||||
}
|
||||
|
||||
HINT_MARKERS = [
|
||||
'формулировка должна', 'например', 'пример:', 'формат:', 'выберите из',
|
||||
'если не используются', 'при необходимости можно', 'указать', 'вписать',
|
||||
'если адресов несколько', 'по логике', 'произвольное описание',
|
||||
]
|
||||
|
||||
def _is_hint(text):
|
||||
"""True, если значение похоже на подсказку/образец из примечания."""
|
||||
low = (text or '').lower()
|
||||
for m in HINT_MARKERS:
|
||||
if m in low:
|
||||
return True
|
||||
return False
|
||||
|
||||
def _set(field_lower, key, val):
|
||||
"""Записать значение, если ключевое слово найдено в вопросе."""
|
||||
if val and 'выбрать' not in field_lower:
|
||||
"""Записать значение, если ключевое слово найдено в вопросе
|
||||
и значение не является подсказкой из примечания."""
|
||||
if val and 'выбрать' not in field_lower and not _is_hint(val):
|
||||
is_obj[key] = val
|
||||
return True
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user