fix(B09): 예시 서식 표 건너뜀 + 정규식 문자클래스 범위 오독 수정
⑤ 구간 표기 37줄을 살피다 둘이 나옴 - 그 줄들은 **살릴 값이 아니었음** — 품셈이 실어 둔 **단가산출서 예시(빈 서식)** 안의 셀이었음(「ha당 참나무시들음병방제 단가산출서(예시)」). 읽으려 들면 구간 라벨(「12~14㎝」)과 항목명이 자원 이름으로 오해됨 ⇒ 머리글에 「단가산출서」·「예시」가 있으면 **표째 건너뜀**. 못 맞춤 882 → 497, 성분 빠짐 84 → 78. 자원 축·일위대가·분포는 그대로 (값이 없던 표라 당연함) - ⚠ **진짜 결함** — `RANGE_DASHES` 를 정규식 문자클래스에 그대로 넣어 `~-–` 이 **범위 연산자**로 읽히고 있었음. 「0.7㎥」·「15톤」까지 구간으로 잡힐 자리였음. `re.escape` 한 `RANGE_DASH_CLASS` 를 두고 세 파일이 그것을 씀 (「한 곳으로 모으라」는 지적이 없었으면 못 봤을 자리) - 구간 셀에 **단위 꼬리**(「51~100m」)를 허용하되 **수~수+단위 전체가 맞을 때만** — 단위가 붙었다고 다 구간은 아님(「굴착기 0.7㎥」는 규격) 계획서 — 석재 할증률 물음을 「몇 %인가」가 아니라 「붙일까 말까, 붙인다면 근거를 어디서」로 고침(메인 지적) 검증: pytest 211 통과(신규 2 — 예시 서식 건너뜀 + 정상 표는 안 걸림) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,7 @@ from decimal import Decimal
|
||||
from typing import Any
|
||||
|
||||
from B09_Estimation.B09_Estimation_ResourceAxis import (
|
||||
RANGE_DASHES,
|
||||
RANGE_DASH_CLASS,
|
||||
AxisResult,
|
||||
ResourceCatalog,
|
||||
ResourceRow,
|
||||
@@ -254,7 +254,7 @@ def _resolve_packed(catalog: ResourceCatalog, name: str, specs: list[str] | None
|
||||
_TRACK_PREFERENCE = ("무한궤도",)
|
||||
|
||||
|
||||
_RE_SPEC_RANGE = re.compile(rf"^(\d+(?:\.\d+)?)[{RANGE_DASHES}](\d+(?:\.\d+)?)$")
|
||||
_RE_SPEC_RANGE = re.compile(rf"^(\d+(?:\.\d+)?)[{RANGE_DASH_CLASS}](\d+(?:\.\d+)?)$")
|
||||
|
||||
|
||||
def _spec_matches(catalog_spec: str, wanted: str) -> bool:
|
||||
|
||||
Reference in New Issue
Block a user