mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
from enum import Enum
|
|
from typing import Optional
|
|
|
|
from backend.app.db.models.uploaded_file import FileTypeEnum
|
|
|
|
|
|
class CoreFiles(Enum):
|
|
PHOTOPACK = "Photopack"
|
|
SITENOTE = "SiteNote"
|
|
RDSAP_SITENOTE = "RdSAP_SiteNote"
|
|
PAS2023_VENTILATION = "PAS 2023 Ventilation Assessment Report"
|
|
PAS2023_CONDITION = "PAS 2023 Condition Report"
|
|
PAS_SIGNIFICANCE = "PAS Significance"
|
|
PAR_PHOTOPACK = "PAR Photo Pack"
|
|
PAS2023_PROPERTY = "PAS 2023 Property Assessment Report"
|
|
PAS2023_OCCUPANCY = "PAS 2023 Occupancy Assessment Report"
|
|
|
|
|
|
CORE_TO_FILETYPE_MAP = {
|
|
CoreFiles.PHOTOPACK: FileTypeEnum.PHOTO_PACK.value,
|
|
CoreFiles.SITENOTE: FileTypeEnum.SITE_NOTE.value,
|
|
CoreFiles.RDSAP_SITENOTE: FileTypeEnum.RD_SAP_SITE_NOTE.value,
|
|
CoreFiles.PAS2023_VENTILATION: FileTypeEnum.PAS_2023_VENTILATION.value,
|
|
CoreFiles.PAS2023_CONDITION: FileTypeEnum.PAS_2023_CONDITION.value,
|
|
CoreFiles.PAS_SIGNIFICANCE: FileTypeEnum.PAS_SIGNIFICANCE.value,
|
|
CoreFiles.PAR_PHOTOPACK: FileTypeEnum.PAR_PHOTO_PACK.value,
|
|
CoreFiles.PAS2023_PROPERTY: FileTypeEnum.PAS_2023_PROPERTY.value,
|
|
CoreFiles.PAS2023_OCCUPANCY: FileTypeEnum.PAS_2023_OCCUPANCY.value,
|
|
}
|
|
|
|
|
|
def infer_file_type(filename: str) -> Optional[str]:
|
|
for core_file, file_type in CORE_TO_FILETYPE_MAP.items():
|
|
if filename.startswith(core_file.value):
|
|
return file_type
|
|
return None
|