gendesign/tradein-mvp/backend/app/services/scrapers
bot-backend 41f2402b25
All checks were successful
CI / changes (pull_request) Successful in 6s
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
fix(yandex): read predicted price from entity.predictions.predictedPrice (#1725)
Gate-API nests Yandex's per-offer valuation under predictions.predictedPrice,
not predictedPrice.predictedPrice (that key does not exist). _predicted_prices
read the wrong outer key, so predicted_price_rub/_min/_max were None for every
offer (prod: pp=0 across all 6189 yandex rows). Verified live against the
gate-API 2026-06-18.

The rich-field test fixture used the same wrong wrapper, so the test passed
vacuously. Updated _ENTITY_RICH_OWNER to the real predictions.predictedPrice
shape — with the old code the assertions now fail, confirming non-vacuity.
2026-06-18 08:03:05 +03:00
..
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
avito.py fix(avito): proactive IP rotate at sweep start + raise max_rotations 2->4 (Datadome ban recovery) 2026-06-17 23:35:24 +03:00
avito_detail.py fix(avito): classify novostroyki by item-development-name marker; map переуступка sale_type 2026-06-17 22:24:13 +03:00
avito_exceptions.py fix(tradein): avito content-block (HTTP-200) не маскируется под end-of-pagination (Refs #754) (#779) 2026-05-30 16:28:23 +00:00
avito_houses.py fix(tradein): M1 review — short_address для match_or_create_house (alias keyspace) 2026-06-16 08:35:38 +03:00
avito_imv.py fix(tradein): route yandex/valuation/imv/newbuilding scrapers через scraper_proxy_url (#860) 2026-05-31 07:04:31 +00:00
base.py Merge pull request 'feat(avito): capture newbuilding ЖК id/url from SERP card' (#1729) from feat/avito-newbuilding-capture into main 2026-06-17 20:29:39 +00:00
browser_fetcher.py feat(tradein): Cian browser auto-login — POST /admin/scrape/cian/auto-login (#639) (#917) 2026-05-31 18:24:51 +00:00
cian.py fix(scrapers): cian _walk_price_range stop silently truncating price-range tail (#1393) 2026-06-17 20:39:16 +03:00
cian_detail.py fix(cian): persist detail rich fields (description/kitchen/ceiling) + stamp detail_enriched_at 2026-06-17 22:32:18 +03:00
cian_newbuilding.py fix(tradein): cian newbuilding MFE/reliability drift — initialState extraction (#972) 2026-06-15 21:12:05 +03:00
cian_state_parser.py fix(tradein): cian _cianConfig concat-формат + auth из header-frontend (#639) (#819) 2026-05-30 19:08:01 +00:00
cian_valuation.py feat(tradein): dedicated Cian mobile proxy — separate egress from Avito (#923) 2026-05-31 19:30:14 +00:00
domclick.py fix(tradein): domklik source name, scraper delay, DataDome block detect (#796 fixup) 2026-05-31 17:21:30 +03:00
domclick_exceptions.py fix(tradein): domklik source name, scraper delay, DataDome block detect (#796 fixup) 2026-05-31 17:21:30 +03:00
repair_state_normalizer.py feat(tradein): infer repair_state from listing description text (#622) (#632) 2026-05-28 15:37:34 +00:00
snapshot_writer.py fix(tradein): implement listings_snapshots + offer_price_history writers (#567) (#624) 2026-05-28 13:49:52 +00:00
yandex_detail.py feat(tradein): yandex detail backfill — save_detail_enrichment + nightly task (#1553) 2026-06-16 13:58:20 +03:00
yandex_helpers.py fix(tradein): Yandex listing_date — keyword + absolute-no-year (#602) 2026-05-27 13:11:22 +00:00
yandex_newbuilding.py fix(tradein): yandex newbuilding rating drift — "4.3из 5" без пробела (#974) 2026-06-15 21:29:43 +03:00
yandex_realty.py fix(yandex): read predicted price from entity.predictions.predictedPrice (#1725) 2026-06-18 08:03:05 +03:00
yandex_valuation.py fix(tradein): route yandex/valuation/imv/newbuilding scrapers через scraper_proxy_url (#860) 2026-05-31 07:04:31 +00:00