|
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 2m43s
#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 — без фикса краснеет. Старое место оставлено фоллбэком. |
||
|---|---|---|
| .. | ||
| app | ||
| data/sql | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| pyproject.toml | ||