mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
_select_latest_core_files delegates to core_file_for; _get_core_file_type removed 🟪
This commit is contained in:
parent
5e31c0f3da
commit
fb9bdbc585
2 changed files with 2 additions and 103 deletions
|
|
@ -5,7 +5,7 @@ from datetime import datetime
|
|||
|
||||
import requests
|
||||
|
||||
from backend.pashub_fetcher.core_files import CoreFiles
|
||||
from backend.pashub_fetcher.core_files import CoreFiles, core_file_for
|
||||
from backend.pashub_fetcher.evidence_file_data import EvidenceFileData
|
||||
from backend.pashub_fetcher.evidence_metadata import EvidenceMetadata
|
||||
from utils.logger import setup_logger
|
||||
|
|
@ -86,24 +86,6 @@ class PashubClient:
|
|||
except Exception:
|
||||
return None
|
||||
|
||||
def _get_core_file_type(self, file: EvidenceFileData) -> Optional[CoreFiles]:
|
||||
if file.evidence_category is not None and file.evidence_category.lower() == "retrofit design":
|
||||
return CoreFiles.RETROFIT_DESIGN_DOC
|
||||
|
||||
for core_file in (
|
||||
CoreFiles.IMPROVEMENT_OPTION_EVALUATION,
|
||||
CoreFiles.MEDIUM_TERM_IMPROVEMENT_PLAN,
|
||||
):
|
||||
if core_file.value in file.file_name:
|
||||
return core_file
|
||||
|
||||
for core_file in CoreFiles:
|
||||
if core_file is CoreFiles.RETROFIT_DESIGN_DOC:
|
||||
continue
|
||||
if file.file_name.startswith(core_file.value):
|
||||
return core_file
|
||||
return None
|
||||
|
||||
def _select_latest_core_files(
|
||||
self,
|
||||
files: List[EvidenceFileData],
|
||||
|
|
@ -111,7 +93,7 @@ class PashubClient:
|
|||
grouped: Dict[CoreFiles, List[EvidenceFileData]] = defaultdict(list)
|
||||
|
||||
for file in files:
|
||||
core_type = self._get_core_file_type(file)
|
||||
core_type = core_file_for(file.file_name, file.evidence_category)
|
||||
if not core_type:
|
||||
continue
|
||||
grouped[core_type].append(file)
|
||||
|
|
|
|||
|
|
@ -25,89 +25,6 @@ def make_file(
|
|||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# _get_core_file_type
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def test_get_core_file_type_returns_retrofit_design_doc_for_evidence_category() -> None:
|
||||
# Arrange
|
||||
client = make_client()
|
||||
file = make_file(
|
||||
file_name="2512-OSM-H21M900-XX-DR-N-A_Lord Nelson Street 018.pdf",
|
||||
evidence_category="retrofit design",
|
||||
)
|
||||
|
||||
# Act
|
||||
result = client._get_core_file_type(file)
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.RETROFIT_DESIGN_DOC
|
||||
|
||||
|
||||
def test_get_core_file_type_evidence_category_match_is_case_insensitive() -> None:
|
||||
# Arrange
|
||||
client = make_client()
|
||||
file = make_file(
|
||||
file_name="2512-OSM-H21M900-XX-DR-N-A_Lord Nelson Street 018.pdf",
|
||||
evidence_category="Retrofit Design",
|
||||
)
|
||||
|
||||
# Act
|
||||
result = client._get_core_file_type(file)
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.RETROFIT_DESIGN_DOC
|
||||
|
||||
|
||||
def test_get_core_file_type_returns_improvement_option_evaluation_via_substring() -> None:
|
||||
# Arrange
|
||||
client = make_client()
|
||||
file = make_file(file_name="6000802 - NG4 4HD - Improvement Option Evaluation.pdf")
|
||||
|
||||
# Act
|
||||
result = client._get_core_file_type(file)
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.IMPROVEMENT_OPTION_EVALUATION
|
||||
|
||||
|
||||
def test_get_core_file_type_returns_medium_term_improvement_plan_via_substring() -> None:
|
||||
# Arrange
|
||||
client = make_client()
|
||||
file = make_file(file_name="60800802 - NG4 4HD - Medium Term Improvement Plan IOE.pdf")
|
||||
|
||||
# Act
|
||||
result = client._get_core_file_type(file)
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.MEDIUM_TERM_IMPROVEMENT_PLAN
|
||||
|
||||
|
||||
def test_get_core_file_type_returns_photopack_via_prefix() -> None:
|
||||
# Arrange
|
||||
client = make_client()
|
||||
file = make_file(file_name="Photopack_123456_V1.pdf")
|
||||
|
||||
# Act
|
||||
result = client._get_core_file_type(file)
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.PHOTOPACK
|
||||
|
||||
|
||||
def test_get_core_file_type_returns_none_for_unknown_file() -> None:
|
||||
# Arrange
|
||||
client = make_client()
|
||||
file = make_file(file_name="unknown_document_123.pdf")
|
||||
|
||||
# Act
|
||||
result = client._get_core_file_type(file)
|
||||
|
||||
# Assert
|
||||
assert result is None
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# _select_latest_core_files
|
||||
# ---------------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue