From 677ba42f2cc11aa463b59ca6f8caec122e7fce51 Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Sun, 16 Mar 2025 14:57:53 +0000 Subject: [PATCH] section 12 --- etl/pdfReader/sitenotes.py | 24 ++++++++++++++++++------ etl/transform/types.py | 5 +++-- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/etl/pdfReader/sitenotes.py b/etl/pdfReader/sitenotes.py index 068324f..4bb4547 100644 --- a/etl/pdfReader/sitenotes.py +++ b/etl/pdfReader/sitenotes.py @@ -2,7 +2,7 @@ from etl.pdfReader.reportType import ReportType from transform.types import ( CompanyInfo, SurverySummaryInfo, AssessorInfo, PropertyDescription, PropertyDetail, Dimension, - Walls, Roofs, Floors, Door + Walls, Roofs, Floors, Door, VentilationAndCooling ) from datetime import datetime @@ -36,8 +36,12 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): """ self.transform_summary_information() self.transform_sections() + + # Saves windows till the end as that requires thought # self.get_section_11() - # self.get_section_12() + + + # start section 12, should just be dict_ # self.get_section_13() # self.get_section_14() # self.get_section_14_1() @@ -175,7 +179,7 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): # Section 3 age_bands = self.get_age_band() - print() + # Section 4 no_of_main_property = int(get_value("Main Property")) no_of_extension_1 = int(get_value('Extension 1') or 0) @@ -193,7 +197,6 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): # Section 5 conservatory = self.is_there_a_conservatory() - # Section 7 walls = self.get_walls() @@ -206,6 +209,9 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): # Section 10 door = self.get_door() + # Section 12 + ventilationAndCooling = self.get_ventilation_and_cooling() + self.property_description = PropertyDescription( built_form = get_value("Built Form"), detachment_or_position = get_value("Detachment/Position"), @@ -250,6 +256,7 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): )if no_of_extension_4 > 0 else None, conservatory=conservatory, door=door, + ventilationAndCooling=ventilationAndCooling, ) @@ -583,7 +590,7 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): lst.append(dict_) until = index + 3 + i - def get_section_12(self): + def get_ventilation_and_cooling(self): data = self.raw_data[self.raw_data.index('12.0 Ventilation & Cooling'): self.raw_data.index('13.0 Lighting')] avoid = [ '12.0 Ventilation & Cooling', @@ -595,7 +602,12 @@ class QuidosSiteNotesExtractor(SiteNotesExtractor): "Space Cooling System Present", ] - self.two_columns_processor(data, sub_titles, avoid, 12) + dict_ = self.two_columns_processor(data, sub_titles, avoid) + return VentilationAndCooling( + no_of_open_fireplaces=int(dict_.get("number_of_open_fireplaces", -1)), + ventilation_type=str(dict_.get("ventilation_type", "")), + space_cooling_system_present=True if dict_.get("space_cooling_system_present").upper() == "YES" else False + ) def get_section_13(self): data = self.raw_data[self.raw_data.index('13.0 Lighting'): self.raw_data.index('14.0 Main Heating1')] diff --git a/etl/transform/types.py b/etl/transform/types.py index 880de6b..dfb6f33 100644 --- a/etl/transform/types.py +++ b/etl/transform/types.py @@ -84,7 +84,7 @@ class Windows(BaseModel): u_value_w_m2_k: int g_value: int -class FirePlaces(BaseModel): +class VentilationAndCooling(BaseModel): no_of_open_fireplaces: int ventilation_type: str space_cooling_system_present: bool @@ -137,4 +137,5 @@ class PropertyDescription(BaseModel): ex3_property: Optional[PropertyDetail] = None ex4_property: Optional[PropertyDetail] = None conservatory: bool - door: Optional[Door] \ No newline at end of file + door: Optional[Door] + ventilationAndCooling: Optional[VentilationAndCooling] \ No newline at end of file