From 227cbcce2d8c4631318178e3adfe8b8f0e42f1f8 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Thu, 4 Jan 2024 09:54:38 +0000 Subject: [PATCH] added uprn extraction to extract_epc_data: --- backend/Property.py | 6 ++++-- backend/SearchEpc.py | 12 +++++++++--- backend/app/plan/router.py | 2 ++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/backend/Property.py b/backend/Property.py index 71d9e249..ad152ff2 100644 --- a/backend/Property.py +++ b/backend/Property.py @@ -48,15 +48,17 @@ class Property(Definitions): spatial = None - def __init__(self, id, data=None, old_data=None, full_sap_epc=None): + def __init__(self, id, address, postcode, data=None, old_data=None, full_sap_epc=None): self.id = id + self.address = address + self.postcode = postcode self.data = data self.old_data = old_data self.full_sap_epc = full_sap_epc self.property_dimensions = None - self.uprn = None + self.uprn = None if data is not None else data["uprn"] self.in_conservation_area, self.is_listed, self.is_heritage = None, None, None self.restricted_measures = False diff --git a/backend/SearchEpc.py b/backend/SearchEpc.py index 1d5c2296..9d3ecd42 100644 --- a/backend/SearchEpc.py +++ b/backend/SearchEpc.py @@ -364,7 +364,13 @@ class SearchEpc: # Retrieve postcode and address address_epc, postcode_epc = self.format_address(newest_epc=newest_epc) - return newest_epc, older_epcs, full_sap_epc, address_epc, postcode_epc + # Ge the uprn from the newest record for this home + uprns = {r["uprn"] for r in rows if r["uprn"]} + if len(uprns) != 1: + raise ValueError("Multiple UPRNs found - investigate me") + uprn = uprns.pop() + + return newest_epc, older_epcs, full_sap_epc, address_epc, postcode_epc, uprn @staticmethod def filter_newest_epc(list_of_epcs: List): @@ -626,7 +632,7 @@ class SearchEpc: if response["status"] == 200: ( - self.newest_epc, self.older_epcs, self.full_sap_epc, self.address_clean, self.postcode_clean + self.newest_epc, self.older_epcs, self.full_sap_epc, self.address_clean, self.postcode_clean, self.uprn ) = self.extract_epc_data(address=self.full_address) return @@ -642,7 +648,7 @@ class SearchEpc: response = self.get_epc() if response["status"] == 200: ( - self.newest_epc, self.older_epcs, self.full_sap_epc, self.address_clean, self.postcode_clean + self.newest_epc, self.older_epcs, self.full_sap_epc, self.address_clean, self.postcode_clean, self.uprn ) = self.extract_epc_data() return diff --git a/backend/app/plan/router.py b/backend/app/plan/router.py index 9e24126e..f4238ae5 100644 --- a/backend/app/plan/router.py +++ b/backend/app/plan/router.py @@ -98,6 +98,8 @@ async def trigger_plan(body: PlanTriggerRequest): input_properties.append( Property( id=property_id, + address=epc_searcher.address_clean, + postcode=epc_searcher.postcode_clean, data=epc_searcher.newest_epc, old_data=epc_searcher.older_epcs, full_sap_epc=epc_searcher.full_sap_epc,