fix(vodokanal): unit-guard требует и «тыс», и «сут» (ревью: тыс.м3/час не проходит)
All checks were successful
CI / openapi-codegen-check (pull_request) Successful in 1m48s
CI / backend-tests (pull_request) Successful in 14m32s
CI Trade-In / changes (pull_request) Successful in 6s
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
All checks were successful
CI / openapi-codegen-check (pull_request) Successful in 1m48s
CI / backend-tests (pull_request) Successful in 14m32s
CI Trade-In / changes (pull_request) Successful in 6s
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
This commit is contained in:
parent
5d34bb7833
commit
eddbe9eaa5
1 changed files with 4 additions and 2 deletions
|
|
@ -84,7 +84,9 @@ _REQUESTED_LABEL = "количество поданных и зарегистр
|
|||
_REFUSED_LABEL_PREFIX = "количество заявок на подключение, по которым принято решение об отказе"
|
||||
# Ед.изм. резерва: «тыс. м3/сут» / «тыс.м3/сут» (пробелы схлопнуты) — защита от того,
|
||||
# чтобы «Резерв…» из чужой формы с иной размерностью не попал в тыс.м³/сут.
|
||||
_RESERVE_UNIT_MARKER = "тыс"
|
||||
# Оба токена обязательны: одного «тыс» мало — «тыс. м3/час» прошёл бы с чужой
|
||||
# временной базой (ревью 2026-07-03).
|
||||
_RESERVE_UNIT_MARKERS = ("тыс", "сут")
|
||||
# Шапки таблицы и служебные строки — не данные.
|
||||
_HEADER_MARKERS = frozenset({"№ п/п", "№ цсв", "наименование показателя", "название цсв"})
|
||||
_TOTAL_MARKER = "итого"
|
||||
|
|
@ -344,7 +346,7 @@ def extract_water_rows(matrix: list[list[str]]) -> list[dict]:
|
|||
if _is_reserve_metric(metric):
|
||||
# Защита размерности: у резерва ед.изм. — «тыс…м3/сут» (col label+1).
|
||||
unit = _norm(_cell(row, label_col + 1))
|
||||
if _RESERVE_UNIT_MARKER in unit:
|
||||
if all(m in unit for m in _RESERVE_UNIT_MARKERS):
|
||||
cur_reserve = value
|
||||
cur_note = _cell(row, value_col + 1) # Примечание строки резерва
|
||||
elif _is_requested_metric(metric):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue