refactor(tradein/tasks): yandex_newbuilding_sweep на kit + config= (#2397 Part D5) #2412

Merged
lekss361 merged 1 commit from refactor/tradein-partD5-yandex-nb-sweep-kit into main 2026-07-04 12:29:57 +00:00
Owner

Summary

Umbrella #2397 Part D5 (эпик #2277). Мигрирует yandex_newbuilding_sweep.py с legacy app.services.scrapers.yandex_newbuilding на kit scraper_kit.providers.yandex.newbuilding. Прод-scheduled. Разблокировано #2322 (closed, PR #2356BrowserFetcher endpoint kwarg).

Изменения

  • Lazy-import (сохранён lazy — heavy browser/parse stack) → scraper_kit.providers.yandex.newbuilding. Стейл-«NOT migrated» комментарий переписан.
  • YandexNewbuildingScraper(config=RealScraperConfig()) + resolve_yandex_jk_slug(..., config=RealScraperConfig()) — оба строят BrowserFetcher внутри → без config AssertionError (self-revealing). Добавлен from app.services.scraper_adapters import RealScraperConfig.

Test retarget

  • Все 11 legacy mock/import-сайтов (app.services.scrapers.yandex_newbuilding.*) → scraper_kit.providers.yandex.newbuilding.* (verified 11→0 legacy).
  • Починена assertion под RealScraperConfig (нет __eq__, identity-only) → split на positional/kwarg + isinstance-guard (паттерн D1/#2306).
  • +1 regression-guard: isinstance(config, RealScraperConfig) на construction-сайте YandexNewbuildingScraper.

Test plan

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

Refs #2397, #2277

## Summary Umbrella #2397 **Part D5** (эпик #2277). Мигрирует `yandex_newbuilding_sweep.py` с legacy `app.services.scrapers.yandex_newbuilding` на kit `scraper_kit.providers.yandex.newbuilding`. Прод-scheduled. Разблокировано #2322 (closed, PR #2356 — `BrowserFetcher` endpoint kwarg). ## Изменения - Lazy-import (сохранён lazy — heavy browser/parse stack) → `scraper_kit.providers.yandex.newbuilding`. Стейл-«NOT migrated» комментарий переписан. - `YandexNewbuildingScraper(config=RealScraperConfig())` + `resolve_yandex_jk_slug(..., config=RealScraperConfig())` — оба строят `BrowserFetcher` внутри → без config `AssertionError` (self-revealing). Добавлен `from app.services.scraper_adapters import RealScraperConfig`. ## Test retarget - Все **11** legacy mock/import-сайтов (`app.services.scrapers.yandex_newbuilding.*`) → `scraper_kit.providers.yandex.newbuilding.*` (verified 11→0 legacy). - Починена assertion под `RealScraperConfig` (нет `__eq__`, identity-only) → split на positional/kwarg + `isinstance`-guard (паттерн D1/#2306). - +1 regression-guard: `isinstance(config, RealScraperConfig)` на construction-сайте `YandexNewbuildingScraper`. ## Test plan - [x] `tests/tasks/test_yandex_newbuilding_sweep.py`: 10 passed. - [x] Full suite: 2811 passed, 6 skipped, 1 failed (#2208 flake, unrelated). - [x] Import-sanity → OK. `ruff check` clean. Grep — 0 legacy импортов в файле. Refs #2397, #2277
lekss361 added 1 commit 2026-07-04 12:19:29 +00:00
refactor(tradein/tasks): yandex_newbuilding_sweep на kit + config= (#2397 Part D5)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 9s
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 1m1s
b6b7af6b42
lekss361 merged commit 8030f8ecef into main 2026-07-04 12:29:57 +00:00
lekss361 deleted branch refactor/tradein-partD5-yandex-nb-sweep-kit 2026-07-04 12:29:57 +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#2412
No description provided.