refactor(tradein/tasks): newbuilding_enrich_backfill на kit cian.newbuilding + config= (#2397 Part D3) #2415

Merged
lekss361 merged 1 commit from refactor/tradein-partD3-newbuilding-enrich-kit into main 2026-07-04 12:29:42 +00:00
Owner

Summary

Umbrella #2397 Part D3 (эпик #2277). Мигрирует newbuilding_enrich_backfill.py с legacy app.services.scrapers.cian_newbuilding на kit scraper_kit.providers.cian.newbuilding. Прод-scheduled.

Изменения

  • Lazy-import → scraper_kit.providers.cian.newbuilding (fetch_newbuilding, resolve_cian_zhk_url_via_search, save_newbuilding_enrichment). RealScraperConfig добавлен (lazy, консистентно с файлом). scraper_config = RealScraperConfig() строится раз за run.
  • fetch_newbuilding(zhk_url, config=scraper_config) — без config AssertionError в BrowserFetcher.__aenter__ (self-revealing).
  • resolve_cian_zhk_url_via_search(nb_id, config=scraper_config)⚠️ SILENT footgun: резолвер на curl_cffi (не BrowserFetcher), без config НЕ крашится, тихо роняет cian_proxy_url на прямое соединение. Задокументировано в докстринге.
  • save_newbuilding_enrichment — sync, уже был без await.

Test retarget + regression

  • 19 сайтов (1 import + 18 mock-targets) app.services.scrapers.cian_newbuilding.*scraper_kit.providers.cian.newbuilding.* (grep 0 legacy остаток).
  • 2 новых regression-теста (test_scraper_kit_newbuilding_endpoint.py), доказывающих silent-degrade реален и различим:
    • test_resolve_cian_zhk_url_via_search_passes_proxy_from_config — с config → proxy_url выставлен.
    • test_resolve_cian_zhk_url_via_search_proxy_none_without_config — без config → без краша, но proxy_url=None.

Test plan

  • Touched tests: 28 passed. Full suite: 2813 passed, 6 skipped, 1 failed (#2208 flake, unrelated).
  • Import-sanity → OK. ruff check clean. Grep — 0 legacy импортов в task-файле.

Refs #2397, #2277

## Summary Umbrella #2397 **Part D3** (эпик #2277). Мигрирует `newbuilding_enrich_backfill.py` с legacy `app.services.scrapers.cian_newbuilding` на kit `scraper_kit.providers.cian.newbuilding`. Прод-scheduled. ## Изменения - Lazy-import → `scraper_kit.providers.cian.newbuilding` (`fetch_newbuilding`, `resolve_cian_zhk_url_via_search`, `save_newbuilding_enrichment`). `RealScraperConfig` добавлен (lazy, консистентно с файлом). `scraper_config = RealScraperConfig()` строится раз за run. - `fetch_newbuilding(zhk_url, config=scraper_config)` — без config `AssertionError` в `BrowserFetcher.__aenter__` (self-revealing). - `resolve_cian_zhk_url_via_search(nb_id, config=scraper_config)` — ⚠️ **SILENT footgun**: резолвер на curl_cffi (не BrowserFetcher), без config НЕ крашится, тихо роняет `cian_proxy_url` на прямое соединение. Задокументировано в докстринге. - `save_newbuilding_enrichment` — sync, уже был без `await`. ## Test retarget + regression - **19 сайтов** (1 import + 18 mock-targets) `app.services.scrapers.cian_newbuilding.*` → `scraper_kit.providers.cian.newbuilding.*` (grep 0 legacy остаток). - **2 новых regression-теста** (`test_scraper_kit_newbuilding_endpoint.py`), доказывающих silent-degrade реален и различим: - `test_resolve_cian_zhk_url_via_search_passes_proxy_from_config` — с config → `proxy_url` выставлен. - `test_resolve_cian_zhk_url_via_search_proxy_none_without_config` — без config → без краша, но `proxy_url=None`. ## Test plan - [x] Touched tests: 28 passed. Full suite: 2813 passed, 6 skipped, 1 failed (#2208 flake, unrelated). - [x] Import-sanity → OK. `ruff check` clean. Grep — 0 legacy импортов в task-файле. Refs #2397, #2277
lekss361 added 1 commit 2026-07-04 12:21:56 +00:00
refactor(tradein/tasks): newbuilding_enrich_backfill на kit cian.newbuilding + config= (#2397 Part D3)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 7s
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 1m2s
5015109f31
lekss361 merged commit f0a9763e48 into main 2026-07-04 12:29:42 +00:00
lekss361 deleted branch refactor/tradein-partD3-newbuilding-enrich-kit 2026-07-04 12:29:42 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2415
No description provided.