From eb8801d78ec7ccb74b6a230e72a0fd24cd5618ac Mon Sep 17 00:00:00 2001 From: DokoGen Date: Mon, 3 Aug 2026 17:20:47 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20DaData=20=E2=80=94=20=D0=B8=D0=BD=D0=B4?= =?UTF-8?q?=D0=B5=D0=BA=D1=81=20=D0=BF=D0=BE=D0=B4=D1=81=D1=82=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F=20=D0=B2=20=D0=B0=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D1=81=20(postal=5Fcode)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DaData отдаёт индекс отдельным полем postal_code, а в адресе его не было — теперь добавляем индекс в начало адреса, если его там нет - если индекс уже есть — не дублируем --- dokogen/verify.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dokogen/verify.py b/dokogen/verify.py index 89fe671..98c0b83 100644 --- a/dokogen/verify.py +++ b/dokogen/verify.py @@ -208,6 +208,14 @@ def check_company_dadata(inn, token): 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 '') 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_fio = _normalize_text(management.get('name', '')) ogrn_date = _fmt_date(d.get('ogrn_date') or '')