fix(tradein/houses): персистить house_class из avito «Класс жилья» и yandex parse (#2003) #2359

Merged
lekss361 merged 1 commit from fix/tradein-house-class-persist into main 2026-07-04 00:49:49 +00:00

1 commit

Author SHA1 Message Date
bot-backend
03d7884a80 fix(tradein/houses): персистить house_class из avito «Класс жилья» и yandex parse (#2003)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 1m37s
houses.house_class (comfort/business/premium/economy) заполнен у 0% из 6958
домов. Два независимых бага:

Bug 2 (quick win): avito EXPAND_PARAMS_MAP не извлекал «Класс жилья»
(developmentPage/новостройки) в колонку — добавлена нормализация RU→канон
+ COALESCE-write в _persist_house (avito = топ-приоритетный источник,
перезаписывает при наличии значения, None не затирает существующее).
Зеркальная правка в scraper-kit копии (parity-тест этого требует).

Bug 1 (частично): resolve_house_field/HOUSE_FIELD_PRIORITY
(conflict_resolution.py) подтверждён dead code (0 прод-вызовов) — не
трогал. Вместо этого починен yandex_newbuilding_sweep.py: парсил
house_class, но нигде не персистил (терялось безвозвратно) — добавлен
fill-only UPDATE (COALESCE(houses.house_class, :new) — yandex_realty_nb
низший приоритет, не перетирает более приоритетный источник).
2026-07-04 03:46:47 +03:00