feat(cian): collect price history via BrowserFetcher (fixes silent no-op backfill) #1657

Merged
bot-reviewer merged 1 commit from feat/cian-browser-price-history into main 2026-06-16 19:47:16 +00:00

1 commit

Author SHA1 Message Date
af189e7e40 feat(cian): use BrowserFetcher in history backfill to populate priceChanges
All checks were successful
CI / backend-tests (push) Has been skipped
CI / frontend-tests (push) Has been skipped
CI / openapi-codegen-check (push) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / changes (push) Successful in 7s
CI / changes (pull_request) Successful in 5s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
- cian_detail.fetch_detail: add browser_fetcher keyword param (BrowserFetcher|None).
  When provided, HTML is fetched via camoufox instead of curl_cffi. Parse path
  is identical — only the HTML source changes.
- _extract_price_changes: extend to also look at offerData.priceChanges (browser
  HTML location) and handle nested priceData.price format (proven on prod 2026-06-16:
  listing 328647045 yields 10 entries).
- cian_history_backfill.backfill_cian_history: open one BrowserFetcher for the
  batch and pass browser_fetcher=bf to each fetch_detail call; single-listing
  failure does not abort the run.
- Tests: 6 new tests for browser_fetcher param + priceData.price format; 32 pass
  total. Full gate: 1840 passed, 2 deselected.
2026-06-16 22:30:06 +03:00