diff --git a/asset_list/AssetList.py b/asset_list/AssetList.py index 81b973b9..df16a314 100644 --- a/asset_list/AssetList.py +++ b/asset_list/AssetList.py @@ -841,8 +841,8 @@ class AssetList: self.standardised_asset_list[self.ATTRIBUTE_NUMBER_OF_FLOORS] = self.standardised_asset_list.apply( lambda x: estimate_number_of_floors( property_type=( - x[self.STANDARD_PROPERTY_TYPE].title() if - x[self.STANDARD_PROPERTY_TYPE].title() in accepted_epc_property_types else ( + str(x[self.STANDARD_PROPERTY_TYPE]).title() if + str(x[self.STANDARD_PROPERTY_TYPE]).title() in accepted_epc_property_types else ( x[self.EPC_API_DATA_NAMES["property-type"]] if not pd.isnull(x[self.EPC_API_DATA_NAMES["property-type"]]) else None ) @@ -996,13 +996,16 @@ class AssetList: age_band = x[self.EPC_API_DATA_NAMES["construction-age-band"]].split(": ")[1] lower_date, upper_date = age_band.split("-") - age_band_matches = ( - "EPC Age Band Matches Year Built" if (x[self.STANDARD_YEAR_BUILT] >= float(lower_date)) and ( - x[self.STANDARD_YEAR_BUILT] <= float(upper_date) + if not x[self.STANDARD_YEAR_BUILT]: + age_band_matches = "No Year Built From Landlord" + else: + age_band_matches = ( + "EPC Age Band Matches Year Built" if (x[self.STANDARD_YEAR_BUILT] >= float(lower_date)) and ( + x[self.STANDARD_YEAR_BUILT] <= float(upper_date) + ) + else "EPC Age Band is older than Year Built" if x[self.STANDARD_YEAR_BUILT] > float(upper_date) + else "EPC Age Band is newer than Year Built" ) - else "EPC Age Band is older than Year Built" if x[self.STANDARD_YEAR_BUILT] > float(upper_date) - else "EPC Age Band is newer than Year Built" - ) processed_age_band.append( { diff --git a/asset_list/app.py b/asset_list/app.py index bf5234dd..d7b1b6cd 100644 --- a/asset_list/app.py +++ b/asset_list/app.py @@ -88,7 +88,7 @@ def app(): # - We want: fully insulated property (all wall types), EPC D or below (floors should be solid) # - Or the insulation required is loft/cavity (floors should be solid) - # PFP + # PFP East data_folder = "/Users/khalimconn-kowlessar/Documents/hestia/Customers/Places For People/East" data_filename = "PFP EAST - Master - DN LN NG NR PE POSTCODES.xlsx" sheet_name = "PFP EAST" @@ -180,28 +180,29 @@ def app(): # master_to_asset_list_filepath = None # For Westward - # data_folder = "/Users/khalimconn-kowlessar/Documents/hestia/Customers/Westward" - # data_filename = "WESTWARD - completed list..xlsx" - # sheet_name = "Sheet1" - # postcode_column = "WFT EDIT Postcode" - # fulladdress_column = "Address" - # address1_column = None - # address1_method = "house_number_extraction" - # address_cols_to_concat = [] - # missing_postcodes_method = None - # landlord_year_built = "Build date" - # landlord_os_uprn = "UPRN" - # landlord_property_type = "Location type" - # landlord_wall_construction = "Wall Construction (EPC)" - # landlord_heating_system = "Heat Source" - # landlord_existing_pv = "PV (Y/N)" - # landlord_property_id = "Place ref" - # outcomes_filename = None - # outcomes_sheetname = None - # outcomes_postcode = None - # outcomes_houseno = None - # master_filepaths = [] - # master_to_asset_list_filepath = None + data_folder = "/Users/khalimconn-kowlessar/Documents/hestia/Customers/Westward" + data_filename = "WESTWARD - completed list - 20.03.2025.xlsx" + sheet_name = "Sheet1" + postcode_column = "WFT EDIT Postcode" + fulladdress_column = "Address" + address1_column = None + address1_method = "house_number_extraction" + address_cols_to_concat = [] + missing_postcodes_method = None + landlord_year_built = "Build date" + landlord_os_uprn = "UPRN" + landlord_property_type = "Location type" + landlord_built_form = None + landlord_wall_construction = "Wall Construction (EPC)" + landlord_heating_system = "Heat Source" + landlord_existing_pv = "PV (Y/N)" + landlord_property_id = "Place ref" + outcomes_filename = None + outcomes_sheetname = None + outcomes_postcode = None + outcomes_houseno = None + master_filepaths = [] + master_to_asset_list_filepath = None # For ACIS - programme re-build # data_folder = "/Users/khalimconn-kowlessar/Documents/hestia/Customers/ACIS/ACIS Full Programme Review March 2025" @@ -370,7 +371,8 @@ def app(): property_type_column=AssetList.STANDARD_PROPERTY_TYPE, built_form_column=AssetList.STANDARD_BUILT_FORM, manual_uprn_map=manual_uprn_map, - epc_api_only=epc_api_only + epc_api_only=epc_api_only, + epc_auth_token=EPC_AUTH_TOKEN ) # We now retrieve any failed properties @@ -382,8 +384,11 @@ def app(): fulladdress_column=AssetList.STANDARD_FULL_ADDRESS, address1_column=AssetList.STANDARD_ADDRESS_1, postcode_column=AssetList.STANDARD_POSTCODE, + property_type_column=AssetList.STANDARD_PROPERTY_TYPE, + built_form_column=AssetList.STANDARD_BUILT_FORM, manual_uprn_map=manual_uprn_map, - epc_api_only=epc_api_only + epc_api_only=epc_api_only, + epc_auth_token=EPC_AUTH_TOKEN ) epc_data_chunk.extend(epc_data_failed)