From 66d77e8079e7fae4ce1ed7e5572d8a340391ab5e Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Mon, 17 Mar 2025 07:22:46 +0000 Subject: [PATCH] added solar --- etl/development.py | 1 + etl/pdfReader/sitenotes.py | 11 ++++++++--- etl/transform/types.py | 5 +++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/etl/development.py b/etl/development.py index 1e26f5f..0c211f8 100644 --- a/etl/development.py +++ b/etl/development.py @@ -17,6 +17,7 @@ pdfReader2 = pdfReaderToText(DATA_LOC_2) doc1 = pdfReader2.get_reader() print(doc2.property_description.waterHeating) + # Transform def main(): diff --git a/etl/pdfReader/sitenotes.py b/etl/pdfReader/sitenotes.py index a001d05..05707ce 100644 --- a/etl/pdfReader/sitenotes.py +++ b/etl/pdfReader/sitenotes.py @@ -3,7 +3,7 @@ from transform.types import ( CompanyInfo, SurverySummaryInfo, AssessorInfo, PropertyDescription, PropertyDetail, Dimension, Walls, Roofs, Floors, Door, VentilationAndCooling, - Lighting, WaterHeating, HotWaterCylinder, + Lighting, WaterHeating, HotWaterCylinder, SolarWaterHeating ) from datetime import datetime @@ -725,6 +725,7 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): "15.1 Hot Water Cylinder" ] dict_ = self.two_columns_processor(data, sub_tites, avoid) + return HotWaterCylinder( volume=dict_.get("volume", ""), insulation_type=dict_.get("insulation_type", ""), @@ -732,7 +733,7 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): thermostat=True if dict_.get("thermostat", "NO").upper() == "YES" else False, ) - def get_section_16(self): + def get_solar_water_heating(self): data = self.raw_data[self.raw_data.index("16.0 Solar Water Heating"):self.raw_data.index("17.0 Waste Water Heat Recovery System")] avoid = [ "16.0 Solar Water Heating", @@ -742,7 +743,11 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): "Solar Water Heating Details Known?" ] - self.two_columns_processor(data, sub_titles, avoid, 16.0) + dict_ = self.two_columns_processor(data, sub_titles, avoid) + + return SolarWaterHeating( + solar_water_heating_details_known=True if dict_("solar_water_heating_details_known", "NO").upper() == "YES" else False + ) def get_section_17(self): pass diff --git a/etl/transform/types.py b/etl/transform/types.py index f83d9b4..b3a9391 100644 --- a/etl/transform/types.py +++ b/etl/transform/types.py @@ -120,6 +120,11 @@ class HotWaterCylinder(BaseModel): insulation_thickness: str thermostat: bool +class SolarWaterHeating(BaseModel): + solar_water_heating_details_known: bool + + + class PropertyDetail(BaseModel): age_band: str dimensions: List[Dimension] = []