fix(site-finder): Россети-раскрытие — URL-энкоженные href, ссылки на xlsx не находились #2121

Merged
bot-backend merged 1 commit from fix/rosseti-disclosure-links into main 2026-07-02 09:36:15 +00:00
Collaborator

Прод-инцидент (первый прогон #2120)

Лоадеры на проде: WFS 488/488 ПС , Водоканал 28+6 систем , а резервные xlsx — no cp link found: href'ы на странице раскрытия rosseti-ural.ru URL-энкоженные (кириллица как %D0%A1...), фильтр «свердл» по сырой строке никогда не матчился. Проверено с прода: 355 xlsx-href'ов, свежайшие свердловские оба «на 30.06.2026».

Фикс

  • fetch_disclosure_links: фильтр/классификация/дата-свежесть по декодированному (unquote) имени; скачивание по сырому href. «Свердловской области» (ЦП) / «Свердловэнерго» (ТП/РП); «Пермского края» отфильтровывается.
  • load_all_reserves: unquote(url) при передаче filename — иначе reserve_asof («на 30.06.2026») не парсился.
  • Тест с runtime-quote() реальных имён (свежесть/регион/сырой-href). 33 теста зелёные, ruff чист.

После merge+deploy — повторный прогон sync_power_supply_centers на проде → матчинг резервов ЦП к 488 точкам + ~10.7k ТП/РП.

## Прод-инцидент (первый прогон #2120) Лоадеры на проде: **WFS 488/488 ПС ✅**, **Водоканал 28+6 систем ✅**, а резервные xlsx — `no cp link found`: href'ы на странице раскрытия rosseti-ural.ru **URL-энкоженные** (кириллица как `%D0%A1...`), фильтр «свердл» по сырой строке никогда не матчился. Проверено с прода: 355 xlsx-href'ов, свежайшие свердловские оба «на 30.06.2026». ## Фикс - `fetch_disclosure_links`: фильтр/классификация/дата-свежесть по **декодированному** (`unquote`) имени; скачивание по сырому href. «Свердловской области» (ЦП) / «Свердловэнерго» (ТП/РП); «Пермского края» отфильтровывается. - `load_all_reserves`: `unquote(url)` при передаче filename — иначе `reserve_asof` («на 30.06.2026») не парсился. - Тест с runtime-`quote()` реальных имён (свежесть/регион/сырой-href). 33 теста зелёные, ruff чист. После merge+deploy — повторный прогон `sync_power_supply_centers` на проде → матчинг резервов ЦП к 488 точкам + ~10.7k ТП/РП.
bot-backend added 1 commit 2026-07-02 08:48:43 +00:00
fix(site-finder): Россети-раскрытие — href'ы URL-энкоженные, ссылки не находились
All checks were successful
CI / changes (pull_request) Successful in 9s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m7s
CI / backend-tests (pull_request) Successful in 14m29s
c6be48c62c
Первый прод-прогон #2120: WFS 488/488 ПС и Водоканал 28+6 систем загрузились,
а резервные xlsx — «no cp link found»: href'ы на странице раскрытия
URL-энкоженные (кириллица как %D0%A1...), фильтр «свердл» по СЫРОЙ строке
никогда не матчился.

- fetch_disclosure_links: фильтр/классификация/выбор-свежайшего по
  ДЕКОДИРОВАННОМУ (unquote) имени файла; скачивание по сырому href.
  «Свердловской области» (ЦП) / «Свердловэнерго» (ТП/РП), «Пермского края»
  отфильтровывается.
- load_all_reserves: unquote(url) при передаче filename — иначе дата
  «на 30.06.2026» не парсилась в reserve_asof.
- Тест с runtime-quote() реальных имён файлов (свежесть, регион-фильтр,
  сырой-href для скачивания).
bot-backend merged commit e1a75d98d4 into main 2026-07-02 09:36:15 +00:00
bot-backend deleted branch fix/rosseti-disclosure-links 2026-07-02 09:36:16 +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#2121
No description provided.