gendesign/tradein-mvp/scripts
lekss361 c533d3affd fix(tradein-phase-c): map house_type 'monolith'→'monolithic' + log 400 body
Avito IMV API rejects raw listings.house_type values 'monolith' and
'monolith_brick' with HTTP 400 silent body. Verified live: panel/brick/
monolithic/block/wood are valid; monolith/monolith_brick fail.

- backfill-house-imv.py: _HOUSE_TYPE_TO_IMV dict + _map_house_type() helper
  applied to median house_type from linked listings
- avito_imv.py: log response.text snippet on >=400 status before raising
  for future contract drift visibility
2026-05-24 17:58:52 +03:00
..
backfill-house-imv.py fix(tradein-phase-c): map house_type 'monolith'→'monolithic' + log 400 body 2026-05-24 17:58:52 +03:00
backfill_001_address_fingerprints.py feat(tradein): Phase 1.3 backfill scripts — fingerprints + house/listing_sources (#475) 2026-05-23 14:29:39 +00:00
backfill_002_house_sources.sql feat(tradein): Phase 1.3 backfill scripts — fingerprints + house/listing_sources (#475) 2026-05-23 14:29:39 +00:00
backfill_003_listing_sources.sql feat(tradein): Phase 1.3 backfill scripts — fingerprints + house/listing_sources (#475) 2026-05-23 14:29:39 +00:00
probe-confidence-distribution.py feat(tradein-estimator): unique-address-based confidence threshold (#513) 2026-05-24 11:52:00 +00:00
probe-imv-by-address.py feat(tradein-imv): retry with cleaned address + categorize errors (#505) 2026-05-24 11:04:24 +00:00
README.md feat(tradein): Phase 1.3 backfill scripts — fingerprints + house/listing_sources (#475) 2026-05-23 14:29:39 +00:00
sweep-yandex-valuation-ekb.py feat(tradein): bulk sweep CLI for Yandex valuation house-history (EKB) (#533) 2026-05-24 14:37:24 +00:00
upload-cian-cookies.sh fix(tradein): убрать require_admin полностью — Caddy basic_auth достаточен (#474) 2026-05-23 14:21:01 +00:00

tradein-mvp scripts -- backfill

One-shot manual operator scripts. NOT auto-applied by deploy.yml (which only runs tradein-mvp/backend/data/sql/NN_*.sql).

Order

Run in numbered sequence after PR #470 (matching module) merged:

cd tradein-mvp/backend
export DATABASE_URL="postgresql+psycopg://user:pass@host:5432/tradein"

# 001 -- backfill houses.address_fingerprint (Python, idempotent)
uv run python ../scripts/backfill_001_address_fingerprints.py

# 002 -- backfill house_sources link rows (SQL, idempotent)
psql "${DATABASE_URL/postgresql+psycopg/postgresql}" -f ../scripts/backfill_002_house_sources.sql

# 003 -- backfill listing_sources link rows (SQL, idempotent)
psql "${DATABASE_URL/postgresql+psycopg/postgresql}" -f ../scripts/backfill_003_listing_sources.sql

All scripts idempotent -- re-running is safe (ON CONFLICT DO NOTHING on the SQL; row-level UPDATE WHERE NULL on the Python).

Other scripts

  • upload-cian-cookies.sh -- one-shot Cian session cookie upload (see inline docs)