|
All checks were successful
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 Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Successful in 1m38s
CI / openapi-codegen-check (pull_request) Has been skipped
app/tasks/avito_detail_backfill.py imported _CHROME_HEADERS/_avito_proxies from the legacy app/services/scrape_pipeline.py (the only two symbols it needed from that module). scrape_pipeline.py is slated for wholesale deletion in Part E of epic #2277 -- this severs the last dependency so that deletion won't break the backfill task. Source chosen: kit-reuse, not relocate. scraper_kit/providers/_base.py (#2358 Foundation) already extracted the identical building blocks while deduplicating providers/avito/{serp,detail,imv}.py: - DOCUMENT_HEADERS -- byte-identical dict to _CHROME_HEADERS (same 8 keys/values, Accept/Accept-Language/Cache-Control/Sec-Fetch-*/Upgrade-Insecure-Requests). - http_proxies(proxy_url) -- same formula as _avito_proxies(): {"http": url, "https": url} if url else None, just parameterized instead of reading settings.scraper_proxy_url internally (both resolve the identical settings singleton in production, so behavior is unchanged). Kept the AsyncSession(...) construction inline (didn't switch to kit's build_document_session helper) to preserve the existing `app.tasks.avito_detail_backfill.AsyncSession` mock seam used by tests/tasks/test_avito_detail_backfill.py -- swapping to the helper would call curl_cffi's AsyncSession via scraper_kit.providers._base instead, silently bypassing that patch target. scrape_pipeline.py itself is untouched (kept its own copies, per Part E plan). Full backend suite: 3276 passed, 1 known-unrelated fail (test_search_cache_hit, #2208), 6 skipped. |
||
|---|---|---|
| .. | ||
| app | ||
| data/sql | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| pyproject.toml | ||