fix: импорт старых данных (обратная совместимость)
- объекты КИИ: добавлены варианты во мн.ч. в словари типов объекта (Автоматизированные системы управления, Информационно-телекоммуникационные сети) и способов взаимодействия (Проводной, Без проводной) — как в старом опроснике - employees_access: фильтр плейсхолдеров («Формат: Фамилия Имя Отчество», «Пример: …») и пустых строк при загрузке файла (from_dict) и при импорте опросника
This commit is contained in:
@@ -154,6 +154,20 @@ class Company:
|
||||
]
|
||||
if "employees_access" in d and not isinstance(d["employees_access"], list):
|
||||
d["employees_access"] = []
|
||||
# Отбрасываем плейсхолдеры из старых опросников («Формат: Фамилия Имя Отчество») и пустые строки
|
||||
if "employees_access" in d and isinstance(d["employees_access"], list):
|
||||
clean = []
|
||||
for e in d["employees_access"]:
|
||||
if not isinstance(e, dict):
|
||||
continue
|
||||
fio = str(e.get("fio", "")).strip()
|
||||
pos = str(e.get("position", "")).strip()
|
||||
if fio.lower().startswith("формат:") or fio.lower().startswith("пример:"):
|
||||
continue
|
||||
if not fio and not pos:
|
||||
continue
|
||||
clean.append(e)
|
||||
d["employees_access"] = clean
|
||||
if "okved_extra" in d and not isinstance(d.get("okved_extra"), list):
|
||||
d["okved_extra"] = []
|
||||
valid = {f.name for f in cls.__dataclass_fields__.values()}
|
||||
|
||||
Reference in New Issue
Block a user