From fb9bdbc585940e4afe714c152cfc52b48559336d Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Thu, 14 May 2026 08:53:56 +0000 Subject: [PATCH] =?UTF-8?q?=5Fselect=5Flatest=5Fcore=5Ffiles=20delegates?= =?UTF-8?q?=20to=20core=5Ffile=5Ffor;=20=5Fget=5Fcore=5Ffile=5Ftype=20remo?= =?UTF-8?q?ved=20=F0=9F=9F=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/pashub_fetcher/pashub_client.py | 22 +---- .../tests/test_pashub_client.py | 83 ------------------- 2 files changed, 2 insertions(+), 103 deletions(-) diff --git a/backend/pashub_fetcher/pashub_client.py b/backend/pashub_fetcher/pashub_client.py index 25bf7b72..f851c410 100644 --- a/backend/pashub_fetcher/pashub_client.py +++ b/backend/pashub_fetcher/pashub_client.py @@ -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) diff --git a/backend/pashub_fetcher/tests/test_pashub_client.py b/backend/pashub_fetcher/tests/test_pashub_client.py index 7fd10381..34260c73 100644 --- a/backend/pashub_fetcher/tests/test_pashub_client.py +++ b/backend/pashub_fetcher/tests/test_pashub_client.py @@ -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 # ---------------------------------------------------------------------------