gendesign/tradein-mvp/backend/app
bot-backend b351d62f45
All checks were successful
CI / changes (push) Successful in 7s
CI / backend-tests (push) Has been skipped
CI / frontend-tests (push) Has been skipped
CI / openapi-codegen-check (push) Has been skipped
CI / changes (pull_request) Successful in 5s
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
feat(tradein): rewrite Yandex SERP to gate-API JSON transport
Replace selectolax HTML SERP parser with Yandex gate-API JSON endpoint
(GET realty.yandex.ru/gate/react-page/get/) which bypasses bandwidth-tarpit.

Key changes:
- _build_url: now builds gate-API URL (rgid=559132, newFlat=NO, page 1-based)
- Remove _parse_html / _card_to_lot / _extract_address / all DOM selectors
- Add _parse_gate_json / _entity_to_lot: extract ScrapedLot from JSON entities
- Lat/lon now directly available from location.point (gate-API quality)
- Address from location.geocoderAddress (full with house number)
- Studio: roomsTotal=STUDIO param; entities return roomsTotal=None -> rooms=0
- Keep system curl SOCKS5 subprocess + rotate-on-tarpit retry (status==0)
- Pagination driven by pager.totalPages (capped at _GATE_MAX_PAGES_CAP=50)
- _walk_price_range adapted: totalItems from pager, not DOM state extraction
- test_yandex_realty_serp.py: full rewrite with gate-API JSON fixtures (48 tests)
2026-06-17 11:12:35 +03:00
..
api chore(tradein): деактивировать N1.ru scraper — источник переехал в Cian 2026-06-16 14:50:51 +03:00
core feat(rbac): add analyst role + §19 audit-log middleware (#962) 2026-06-08 12:16:19 +05:00
observability feat(tradein): enrich GlitchTip SDK init — integrations + PII scrub (#396) (#643) 2026-05-29 09:23:17 +00:00
schemas fix(week-review): автофиксы код-ревью — 169 issue (label «week ревью 1») 2026-06-15 20:21:11 +05:00
services feat(tradein): rewrite Yandex SERP to gate-API JSON transport 2026-06-17 11:12:35 +03:00
tasks feat(cian): collect price history via BrowserFetcher (fixes silent no-op backfill) (#1657) 2026-06-16 19:47:16 +00:00
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
main.py feat(tradein): systemd timer scheduler — trigger script + units + SCHEDULER_ENABLE flag (#581) 2026-05-31 16:53:38 +00:00
scheduler_main.py feat(tradein): отдельный scraper-контейнер — scheduler вне API-процесса (#1182) 2026-06-12 10:50:50 +03:00