gendesign/tradein-mvp/backend
bot-backend e0dcc220dd
All checks were successful
CI / changes (pull_request) Successful in 9s
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(scrapers/avito): unify _unix_to_date timezone across serp/houses/imv (#2129)
Consolidate 3 divergent unix-epoch-to-date conversions (avito.py: MSK, documented
#726; avito_houses.py: UTC; avito_imv.py: naive/system-local) plus 3 duplicated
RUS_MONTHS dicts into a single app/services/scrapers/avito_shared.py module.

MSK is the correct canonical representation: Avito displays listing dates
(item-date, publishDate, price-history dates) in Europe/Moscow, and #726 already
established this to avoid off-by-one dates for listings bumped 00:00-03:00 MSK.
startPriceDate/lastPriceDate are always UTC-midnight in the source JSON so MSK
vs UTC never shifts them, but removedDate/publishDate carry real time-of-day and
DO shift for ~12.5% of events (21:00-23:59 UTC/local) once avito_imv.py/
avito_houses.py switch to MSK on the next scrape run.
2026-07-02 16:57:25 +03:00
..
app fix(scrapers/avito): unify _unix_to_date timezone across serp/houses/imv (#2129) 2026-07-02 16:57:25 +03:00
data/sql fix(tradein): cadastre ЖКХ-fallback + COALESCE merge-key + median-floors guard 2026-06-29 01:32:48 +03:00
scripts feat(tradein/domclick): local-runner + ingest tooling → main (split from parked Layer-B) 2026-06-28 10:26:52 +03:00
tests fix(scrapers/avito): unify _unix_to_date timezone across serp/houses/imv (#2129) 2026-07-02 16:57:25 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile fix(tradein): гарантировать lxml в backend-образе — bust кэша uv sync + assert import (#2061) 2026-06-28 15:16:04 +00:00
pyproject.toml feat(tradein): ГАР-loader знаменателя — apartments-per-house → gar_house_flats + match к houses (#2059) 2026-06-28 14:54:43 +00:00