new core_file_for function identifies CoreFiles type from filename and evidence category 🟥

This commit is contained in:
Daniel Roth 2026-05-14 08:37:32 +00:00
parent 64324ff42a
commit 1a789ec609
2 changed files with 23 additions and 1 deletions

View file

@ -62,6 +62,12 @@ _MATCHERS: list[tuple[Callable[[str], bool], str]] = [
]
def core_file_for(
filename: str, evidence_category: Optional[str] = None
) -> Optional[CoreFiles]:
raise NotImplementedError
def infer_file_type(filename: str) -> Optional[str]:
for matcher, file_type in _MATCHERS:
if matcher(filename):

View file

@ -1,4 +1,4 @@
from backend.pashub_fetcher.core_files import infer_file_type
from backend.pashub_fetcher.core_files import CoreFiles, core_file_for, infer_file_type
def test_infer_photopack():
@ -81,3 +81,19 @@ def test_infer_retrofit_design_doc():
infer_file_type("2603-OSM-B06M901-XX-DR-N-A_Alvaston Walk 022.pdf")
== "retrofit_design_doc"
)
# ---------------------------------------------------------------------------
# core_file_for
# ---------------------------------------------------------------------------
def test_core_file_for_evidence_category_returns_retrofit_design_doc() -> None:
# Arrange
filename = "2512-OSM-H21M900-XX-DR-N-A_Lord Nelson Street 018.pdf"
# Act
result = core_file_for(filename, evidence_category="retrofit design")
# Assert
assert result == CoreFiles.RETROFIT_DESIGN_DOC