fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) #2773

Merged
bot-backend merged 1 commit from fix/2669-views-total into main 2026-08-07 08:44:49 +00:00

1 commit

Author SHA1 Message Date
22c3882271 fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
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 3m47s
Разбор #2705 закрыл int() у Циана, но проверка на проде вскрыла две вещи,
которых в issue не было.

1. Яндекс пишет НЕВЕРНОЕ число, а не пустоту. RE_VIEWS был `(\d+)\s+просмотр`,
   тогда как соседние RE_PRICE/RE_PPM2 в том же файле давно `(\d[\d\s]+)` —
   потому что тот же блок OfferCardSummary отдаёт числа через NBSP
   («3 850 000 ₽», «108 451 ₽ за м²», сверено с сохранённым ответом
   yandex_offer_3402418396407468801.html). На «1 234 просмотра» поиск цеплялся
   за хвост и клал в БД 234. Косвенно с прода: из 1620 непустых
   views_total_yandex ровно НОЛЬ значений ≥1000 при 2512 таких у avito.
   Тихо неверное число хуже пустого — оно не отличимо от правды.

2. Циан глотал неразобранную фразу молча. Пустая колонка одинаково выглядела
   и при сломанном разборе, и при молчании площадки — ровно та слепота, из-за
   которой потеря держалась месяцами (эпик #2674). Теперь непустая, но
   непонятая строка уходит в warning вместе с собой (обрезанной до 80).

Тесты падают на старом коде: yandex — `assert 345 == 12345`, cian — фраза не
видна в журнале. Покрыты NBSP, обычный пробел и «нет данных».

Refs #2669, #2674
2026-08-07 13:39:12 +05:00