gendesign/tradein-mvp/packages/scraper-kit
bot-backend c232772e70
All checks were successful
CI Trade-In / 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 Trade-In / backend-tests (pull_request) Successful in 2m43s
CI / changes (pull_request) Successful in 8s
CI / openapi-codegen-check (pull_request) Has been skipped
fix(tradein/cian): читать bti из offerData — BTI-персист в houses писал ноль строк (#2435)
#2435 (PR #2437) завёл запись BTI-полей дома через match_or_create_house, но на
проде она не дала ни одной строки: 9361 дом, 0 с series_name/entrances/flat_count/
is_emergency/heat_supply_type/gas_supply_type/overlap_type — при 628 detail-
обогащённых Cian-листингах за Jul 5-22 и 5188 домах, которых Cian вообще касался.

Причина: bti читался только как соседний с defaultState ключ контейнера
frontend-offer-card, а Cian отдаёт его ВНУТРИ defaultState — offerData.bti.
extract_all_states() исправно возвращает 143 ключа, но bti среди них нет,
поэтому bti_data всегда оставался None и весь write-path был мёртвым.

Существующие тесты этого не ловили: они кормят bti_data прямо в
save_detail_enrichment, минуя fetch_detail. Новый тест гоняет реальный
сохранённый HTML (fixtures/cian_flat_330982715.html) через настоящий
fetch_detail — без фикса краснеет.

Старое место оставлено фоллбэком.
2026-08-05 23:39:40 +05:00
..
src/scraper_kit fix(tradein/cian): читать bti из offerData — BTI-персист в houses писал ноль строк (#2435) 2026-08-05 23:39:40 +05:00
pyproject.toml feat(scraper-kit): copy avito providers with protocol injection, strangler (#2133 avito) 2026-07-02 15:58:00 +00:00