fix: DaData — индекс подставляется в адрес (postal_code)

- DaData отдаёт индекс отдельным полем postal_code, а в адресе его
  не было — теперь добавляем индекс в начало адреса, если его там нет
- если индекс уже есть — не дублируем
This commit is contained in:
2026-08-03 17:20:47 +04:00
parent fd6fd60507
commit eb8801d78e
+8
View File
@@ -208,6 +208,14 @@ def check_company_dadata(inn, token):
full_name = _normalize_text(name.get('full_with_opf') or s.get('value', '')) full_name = _normalize_text(name.get('full_with_opf') or s.get('value', ''))
short_name = _normalize_text(name.get('short_with_opf') or name.get('short') or '') short_name = _normalize_text(name.get('short_with_opf') or name.get('short') or '')
addr = normalize_address(address.get('value', '')) addr = normalize_address(address.get('value', ''))
# DaData отдаёт индекс отдельным полем postal_code — добавляем его
# в начало адреса, если его там ещё нет
postal = (address.get('data') or {}).get('postal_code') or address.get('postal_code') or ''
postal = str(postal).strip()
if postal and postal.isdigit():
addr_first = (addr or '').split(',')[0].strip()
if not addr_first.startswith(postal):
addr = f"{postal}, {addr}" if addr else postal
chief_position = _normalize_text(management.get('post', '')) chief_position = _normalize_text(management.get('post', ''))
chief_fio = _normalize_text(management.get('name', '')) chief_fio = _normalize_text(management.get('name', ''))
ogrn_date = _fmt_date(d.get('ogrn_date') or '') ogrn_date = _fmt_date(d.get('ogrn_date') or '')