From eaf793011b43b4f0655a45d8526401a39bf0f114 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Mon, 26 Jan 2026 16:20:21 +0000 Subject: [PATCH] remaining lbwf mappings --- backend/condition/domain/element.py | 38 +- .../domain/mapping/lbwf/lbwf_element_map.py | 275 ++++++++--- .../mapping/peabody/peabody_element_map.py | 429 ++++++++++++------ 3 files changed, 548 insertions(+), 194 deletions(-) diff --git a/backend/condition/domain/element.py b/backend/condition/domain/element.py index 72687aed..f78f2d52 100644 --- a/backend/condition/domain/element.py +++ b/backend/condition/domain/element.py @@ -11,6 +11,7 @@ class Element(str, Enum): PROPERTY_CLASSIFICATION = "property_classification" PROPERTY_AGE_BAND = "property_age_band" STOREY_COUNT = "storey_count" + FLOOR_LEVEL = "floor_level" FLOOR_LEVEL_FRONT_DOOR = "floor_level_front_door" ACCESSIBLE_HOUSING_REGISTER = "accessible_housing_register" ASBESTOS = "asbestos" @@ -20,6 +21,7 @@ class Element(str, Enum): STAIRLIFT = "stairlift" DISABLED_HOIST_TRACKING = "disabled_hoist_tracking" DISABLED_FACILITIES = "disabled_facilities" + STEPS_TO_FRONT_DOOR = "steps_to_front_door" # ====================== # EXTERNAL – ROOF @@ -35,7 +37,9 @@ class Element(str, Enum): SOFFIT = "soffit" FASCIA_SOFFIT_BARGEBOARDS = "fascia_soffit_bargeboards" GUTTERS = "gutters" + STORE_ROOF = "store_roof" GARAGE_ROOF = "garage_roof" + GARAGE_AND_STORE_ROOF = "garage_and_store_roof" # ====================== # EXTERNAL – WALLS @@ -50,6 +54,8 @@ class Element(str, Enum): SPANDREL_PANELS = "spandrel_panels" GARAGE_WALLS = "garage_walls" PARTY_WALL_FIRE_BREAK = "party_wall_fire_break" + EXTERNAL_BRICKWORK_POINTING = "external_brickwork_pointing" + INTERNAL_DOWNPIPES_EXTERNAL_AREA = "internal_downpipes_in_external_area" # ====================== # EXTERNAL – WINDOWS @@ -57,6 +63,9 @@ class Element(str, Enum): EXTERNAL_WINDOWS = "external_windows" COMMUNAL_WINDOWS = "communal_windows" SECONDARY_GLAZING = "secondary_glazing" + STORE_WINDOWS = "store_windows" + GARAGE_WINDOWS = "garage_windows" + GARAGE_AND_STORE_WINDOWS = "garage_and_store_windows" # ====================== # EXTERNAL – DOORS @@ -66,6 +75,7 @@ class Element(str, Enum): REAR_DOOR = "rear_door" STORE_DOOR = "store_door" GARAGE_DOOR = "garage_door" + GARAGE_AND_STORE_DOOR = "garage_and_store_door" COMMUNAL_ENTRANCE_DOOR = "communal_entrance_door" MAIN_DOOR = "main_door" BLOCK_ENTRANCE_DOOR = "block_entrance_door" @@ -94,6 +104,10 @@ class Element(str, Enum): ROADS = "roads" SOIL_AND_VENT = "soil_and_vent" SOLAR_THERMALS = "solar_thermals" + DROP_KERB = "drop_kerb" + OUTBUILDING_OVERHAUL = "outbuilding_overhaul" + EXTERNAL_STRUCTURAL_DEFECTS = "external_structural_defects" + ACCESS_RAMP = "access_ramp" # ====================== # INTERNAL – KITCHEN @@ -110,6 +124,9 @@ class Element(str, Enum): SECONDARY_BATHROOM = "secondary_bathroom" SECONDARY_TOILET = "secondary_toilet" BATHROOM_EXTRACTOR_FAN = "bathroom_extractor_fan" + ADDITIONAL_WC_OR_WHB = "additional_wc_or_whb" + BATHROOM_REMAINING_LIFE_SOURCE = "bathroom_remaining_life_source" + KITCHEN_REMAINING_LIFE_SOURCE = "kitchen_remaining_life_source" # ====================== # INTERNAL – HEATING / WATER @@ -120,11 +137,16 @@ class Element(str, Enum): SECONDARY_HEATING = "secondary_heating" HOT_WATER_SYSTEM = "hot_water_system" COLD_WATER_STORAGE = "cold_water_storage" - PROGRAMMABLE_HEATING = "programmable_heating" HEATING_SYSTEM = "heating_system" BOILER_FUEL = "boiler_fuel" WATER_HEATING = "water_heating" PROGRAMMABLE_HEATING = "programmable_heating" + COMMUNITY_HEATING = ( + "community_heating" # Is this definitely different from COMMUNAL_HEATING? + ) + GAS_AVAILABLE = "gas_available" + HEAT_RECOVERY_UNITS = "heat_recovery_units" + HEATING_IMPROVEMENTS = "heating_improvements" # ====================== # INTERNAL – ELECTRICS / FIRE @@ -139,6 +161,7 @@ class Element(str, Enum): INTERNAL_WIRING = ( "internal_wiring" # Is this definitely different from ELECTRICAL_WIRING? ) + ELECTRICS = "electrics" # ====================== # COMMUNAL @@ -188,6 +211,19 @@ class Element(str, Enum): COMMUNAL_PLUG_SOCKETS = "communal_plug_sockets" COMMUNAL_CIRCULATION_SPACE = "communal_circulation_space" + # ====================== + # FITNESS FOR HUMAN HABITATION + # ====================== + FFHH_DAMP = "ffhh_damp" + FFHH_HOT_AND_COLD_WATER = "ffhh_hold_and_cold_water" + FFHH_DRAINAGE_LAVATORIES = "ffhh_drainage_or_lavatories" + FFHH_NEGLECTED = "ffhh_neglected_and_in_bad_condition" + FFHH_NATURAL_LIGHT = "ffhh_natural_light" + FFHH_VENTILATION = "ffhh_ventilation" + FFHH_FOOD_PREP_AND_WASHUP = "ffhh_prepare_and_cook_food_or_wash_up" + FFHH_UNSAFE_LAYOUT = "ffhh_unsafe_layout" + FFHH_UNSTABLE_BUILDING = "ffhh_unstable_building" + # ========================================================== # HHSRS – ALL 29 HAZARDS # ========================================================== diff --git a/backend/condition/domain/mapping/lbwf/lbwf_element_map.py b/backend/condition/domain/mapping/lbwf/lbwf_element_map.py index be8a50b2..02722b11 100644 --- a/backend/condition/domain/mapping/lbwf/lbwf_element_map.py +++ b/backend/condition/domain/mapping/lbwf/lbwf_element_map.py @@ -31,6 +31,18 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { element=Element.FLOOR_LEVEL_FRONT_DOOR, aspect_type=AspectType.LOCATION, ), + "INTFLRLVL": ElementMapping( + element=Element.FLOOR_LEVEL, + aspect_type=AspectType.LOCATION, + ), + "INTNSEINSL": ElementMapping( + element=Element.EXTERNAL_NOISE_INSULATION, # Maybe this shouldn't be "EXTERNAL_" + aspect_type=AspectType.ADEQUACY, + ), + "INTSTEPSFD": ElementMapping( + element=Element.STEPS_TO_FRONT_DOOR, + aspect_type=AspectType.QUANTITY, + ), # ========================================================== # ASBESTOS (NON-HHSRS RECORD) # ========================================================== @@ -57,21 +69,22 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { element=Element.KITCHEN, aspect_type=AspectType.LOCATION, ), - # ========================================================== - # INTERNAL – HEATING - # ========================================================== - "INTCHEXTNT": ElementMapping( - element=Element.CENTRAL_HEATING, - aspect_type=AspectType.EXTENT, + "INTADDWCW": ElementMapping( + element=Element.ADDITIONAL_WC_OR_WHB, + aspect_type=AspectType.PRESENCE, ), - "INTCHDIST": ElementMapping( - element=Element.HEATING_DISTRIBUTION, + "INTBTHREML": ElementMapping( + element=Element.BATHROOM_REMAINING_LIFE_SOURCE, aspect_type=AspectType.TYPE, ), - "INTCHBLR": ElementMapping( - element=Element.HEATING_BOILER, + "INTKITREML": ElementMapping( + element=Element.KITCHEN_REMAINING_LIFE_SOURCE, aspect_type=AspectType.TYPE, ), + "INTTNTINST": ElementMapping( + element=Element.TENANT_INSTALLED_KITCHEN, + aspect_type=AspectType.TYPE, # Not certain about this aspect type - need more data + ), # ========================================================== # INTERNAL – FIRE # ========================================================== @@ -98,6 +111,18 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { # ========================================================== # HEATING & SERVICES # ========================================================== + "INTCHEXTNT": ElementMapping( + element=Element.CENTRAL_HEATING, + aspect_type=AspectType.EXTENT, + ), + "INTCHDIST": ElementMapping( + element=Element.HEATING_DISTRIBUTION, + aspect_type=AspectType.TYPE, + ), + "INTCHBLR": ElementMapping( + element=Element.HEATING_BOILER, + aspect_type=AspectType.TYPE, + ), "INTBOILERF": ElementMapping( element=Element.BOILER_FUEL, aspect_type=AspectType.TYPE, @@ -110,6 +135,30 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { element=Element.WATER_HEATING, aspect_type=AspectType.TYPE, ), + "INTCOMHTG": ElementMapping( + element=Element.COMMUNITY_HEATING, + aspect_type=AspectType.TYPE, + ), + "INTELECTRC": ElementMapping( + element=Element.ELECTRICS, + aspect_type=AspectType.WORK_REQUIRED, # Not certain about this aspect type - need more data + ), + "INTGASAVAI": ElementMapping( + element=Element.GAS_AVAILABLE, + aspect_type=AspectType.PRESENCE, # Maybe should be AspectType.TYPE ? + ), + "INTHEATREC": ElementMapping( + element=Element.HEAT_RECOVERY_UNITS, + aspect_type=AspectType.PRESENCE, + ), + "INTHTIMP": ElementMapping( + element=Element.GAS_AVAILABLE, + aspect_type=AspectType.WORK_REQUIRED, + ), + "INTPROGHTG": ElementMapping( + element=Element.PROGRAMMABLE_HEATING, + aspect_type=AspectType.TYPE, # Should maybe be PRESENCE, but set to TYPE for consistency with Peabody data + ), # ========================================================== # EXTERNAL – WALLS (INSTANCED) # ========================================================== @@ -136,6 +185,14 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { element=Element.EXTERNAL_WALL, aspect_type=AspectType.CONDITION, ), + "EXTDWNPTYP": ElementMapping( + element=Element.DOWNPIPES, + aspect_type=AspectType.MATERIAL, + ), + "EXTGUTRTYP": ElementMapping( + element=Element.GUTTERS, + aspect_type=AspectType.MATERIAL, + ), # ========================================================== # EXTERNAL – ROOFS (INSTANCED) # ========================================================== @@ -169,6 +226,30 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { aspect_type=AspectType.COVERING, element_instance=3, ), + "EXTCHIMNEY": ElementMapping( + element=Element.CHIMNEY, + aspect_type=AspectType.WORK_REQUIRED, + ), + "EXTFASOFBR": ElementMapping( + element=Element.FASCIA_SOFFIT_BARGEBOARDS, + aspect_type=AspectType.MATERIAL, + ), + "EXTGARROOF": ElementMapping( + element=Element.GARAGE_ROOF, + aspect_type=AspectType.MATERIAL, + ), + "EXTGARSTRF": ElementMapping( + element=Element.GARAGE_AND_STORE_ROOF, + aspect_type=AspectType.MATERIAL, + ), + "EXTSTRROOF": ElementMapping( + element=Element.STORE_ROOF, + aspect_type=AspectType.MATERIAL, + ), + "INTLOFTINS": ElementMapping( + element=Element.LOFT_INSULATION, + aspect_type=AspectType.TYPE, + ), # ========================================================== # EXTERNAL – DOORS & WINDOWS # ========================================================== @@ -204,6 +285,125 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { aspect_type=AspectType.TYPE, element_instance=2, ), + "EXTGARDOOR": ElementMapping( + element=Element.GARAGE_DOOR, + aspect_type=AspectType.MATERIAL, + ), + "EXTGARSTDR": ElementMapping( + element=Element.GARAGE_AND_STORE_DOOR, + aspect_type=AspectType.MATERIAL, + ), + "EXTSTRDOOR": ElementMapping( + element=Element.STORE_DOOR, + aspect_type=AspectType.MATERIAL, + ), + "EXTGARWDWS": ElementMapping( + element=Element.GARAGE_WINDOWS, + aspect_type=AspectType.MATERIAL, + ), + "EXTSTRWDWS": ElementMapping( + element=Element.STORE_WINDOWS, + aspect_type=AspectType.MATERIAL, + ), + "EXTGARSTWD": ElementMapping( + element=Element.GARAGE_AND_STORE_WINDOWS, + aspect_type=AspectType.MATERIAL, + ), + "EXTLINTELS": ElementMapping( + element=Element.LINTEL, + aspect_type=AspectType.PRESENCE, + ), + "EXTPTFRDR1": ElementMapping( + element=Element.PATIO_FRENCH_DOOR, + aspect_type=AspectType.MATERIAL, + element_instance=1, + ), + # ========================================================== + # EXTERNAL AREAS + # ========================================================== + "EXTBALCONY": ElementMapping( + element=Element.PRIVATE_BALCONY, + aspect_type=AspectType.PRESENCE, + ), + "EXTBPOINTG": ElementMapping( + element=Element.EXTERNAL_BRICKWORK_POINTING, + aspect_type=AspectType.PRESENCE, + ), + "EXTDRPKERB": ElementMapping( + element=Element.DROP_KERB, + aspect_type=AspectType.PRESENCE, + ), + "EXTEXTDECS": ElementMapping( + element=Element.EXTERNAL_DECORATION, + aspect_type=AspectType.PRESENCE, + ), + "EXTHARDSTD": ElementMapping( + element=Element.PATHS_AND_HARDSTANDINGS, + aspect_type=AspectType.MATERIAL, + ), + "EXTINTDWNP": ElementMapping( + element=Element.INTERNAL_DOWNPIPES_EXTERNAL_AREA, + aspect_type=AspectType.MATERIAL, + ), + "EXTOUTBOH": ElementMapping( + element=Element.OUTBUILDING_OVERHAUL, + aspect_type=AspectType.TYPE, + ), + "EXTPARKING": ElementMapping( + element=Element.PARKING_AREAS, + aspect_type=AspectType.PRESENCE, + ), + "EXTPCHCNPY": ElementMapping( + element=Element.PORCH_CANOPY, + aspect_type=AspectType.TYPE, + ), + "EXTSTRINSP": ElementMapping( + element=Element.EXTERNAL_STRUCTURAL_DEFECTS, + aspect_type=AspectType.TYPE, # Need more sample data to know whether this is the correct aspect type + ), + "INTACCRAMP": ElementMapping( + element=Element.ACCESS_RAMP, + aspect_type=AspectType.TYPE, # # Need more sample data to know whether this is the correct aspect type + ), + # ====================== + # FITNESS FOR HUMAN HABITATION + # ====================== + "FFHHDAMP": ElementMapping( + element=Element.FFHH_DAMP, + aspect_type=AspectType.RISK, + ), + "FFHHHCWAT": ElementMapping( + element=Element.FFHH_HOT_AND_COLD_WATER, + aspect_type=AspectType.RISK, + ), + "FFHHDRNWC": ElementMapping( + element=Element.FFHH_DRAINAGE_LAVATORIES, + aspect_type=AspectType.RISK, + ), + "FFHHNEGLC": ElementMapping( + element=Element.FFHH_NEGLECTED, + aspect_type=AspectType.RISK, + ), + "FFHHNONAT": ElementMapping( + element=Element.FFHH_NATURAL_LIGHT, + aspect_type=AspectType.RISK, + ), + "FFHHNOVEN": ElementMapping( + element=Element.FFHH_VENTILATION, + aspect_type=AspectType.RISK, + ), + "FFHHPRPCK": ElementMapping( + element=Element.FFHH_FOOD_PREP_AND_WASHUP, + aspect_type=AspectType.RISK, + ), + "FFHHUNLAY": ElementMapping( + element=Element.FFHH_UNSAFE_LAYOUT, + aspect_type=AspectType.RISK, + ), + "FFHHUNSTA": ElementMapping( + element=Element.FFHH_UNSTABLE_BUILDING, + aspect_type=AspectType.RISK, + ), # ========================================================== # HHSRS # ========================================================== @@ -244,7 +444,8 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { aspect_type=AspectType.RISK, ), "HHSRSORGAN": ElementMapping( - element=Element.HHSRS_VOLATILE_ORGANIC_COMPOUNDS, aspect_type=AspectType.RISK + element=Element.HHSRS_VOLATILE_ORGANIC_COMPOUNDS, + aspect_type=AspectType.RISK, ), "HHSRSCROWD": ElementMapping( element=Element.HHSRS_CROWDING_AND_SPACE, @@ -319,7 +520,8 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { aspect_type=AspectType.RISK, ), "HHSRSCLOW": ElementMapping( - element=Element.HHSRS_COLLISION_AND_ENTRAPMENT, aspect_type=AspectType.RISK + element=Element.HHSRS_COLLISION_AND_ENTRAPMENT, + aspect_type=AspectType.RISK, ), "HHSRSPOSI": ElementMapping( element=Element.HHSRS_AMENITIES, @@ -330,52 +532,3 @@ LBWF_ELEMENT_MAP: dict[str, ElementMapping] = { # Unhandled: # DECNTHMINC # EICINSFREQ -# EXTBALCONY -# EXTBPOINTG -# EXTCHIMNEY -# EXTDRPKERB -# EXTDWNPTYP -# EXTEXTDECS -# EXTFASOFBR -# EXTGARDOOR -# EXTGARROOF -# EXTGARSTDR -# EXTGARSTRF -# EXTGARSTWD -# EXTGARWDWS -# EXTGUTRTYP -# EXTHARDSTD -# EXTINTDWNP -# EXTLINTELS -# EXTOUTBOH -# EXTPARKING -# EXTPCHCNPY -# EXTPTFRDR1 -# EXTSTRDOOR -# EXTSTRINSP -# EXTSTRROOF -# EXTSTRWDWS -# FFHHDAMP -# FFHHDRNWC -# FFHHHCWAT -# FFHHNEGLC -# FFHHNONAT -# FFHHNOVEN -# FFHHPRPCK -# FFHHUNLAY -# FFHHUNSTA -# INTACCRAMP -# INTADDWCW -# INTBTHREML -# INTCOMHTG -# INTELECTRC -# INTFLRLVL -# INTGASAVAI -# INTHEATREC -# INTHTIMP -# INTKITREML -# INTLOFTINS -# INTNSEINSL -# INTPROGHTG -# INTSTEPSFD -# INTTNTINST diff --git a/backend/condition/domain/mapping/peabody/peabody_element_map.py b/backend/condition/domain/mapping/peabody/peabody_element_map.py index 7a266a9f..8fe2ccb9 100644 --- a/backend/condition/domain/mapping/peabody/peabody_element_map.py +++ b/backend/condition/domain/mapping/peabody/peabody_element_map.py @@ -86,69 +86,109 @@ PEABODY_ELEMENT_MAP = { # EXTERNAL – ROOFS # ========================================================== (50, 15): ElementMapping( - element=Element.LOFT_INSULATION, aspect_type=AspectType.TYPE + element=Element.LOFT_INSULATION, + aspect_type=AspectType.TYPE, + ), + (53, 2): ElementMapping( + element=Element.CHIMNEY, + aspect_type=AspectType.PRESENCE, ), - (53, 2): ElementMapping(element=Element.CHIMNEY, aspect_type=AspectType.PRESENCE), (53, 6): ElementMapping( - element=Element.FASCIA_SOFFIT_BARGEBOARDS, aspect_type=AspectType.MATERIAL + element=Element.FASCIA_SOFFIT_BARGEBOARDS, + aspect_type=AspectType.MATERIAL, ), (53, 7): ElementMapping( - element=Element.FLAT_ROOF_COVERING, aspect_type=AspectType.MATERIAL + element=Element.FLAT_ROOF_COVERING, + aspect_type=AspectType.MATERIAL, ), (53, 13): ElementMapping( - element=Element.GARAGE_ROOF, aspect_type=AspectType.MATERIAL + element=Element.GARAGE_ROOF, + aspect_type=AspectType.MATERIAL, + ), + (53, 15): ElementMapping( + element=Element.GUTTERS, + aspect_type=AspectType.MATERIAL, ), - (53, 15): ElementMapping(element=Element.GUTTERS, aspect_type=AspectType.MATERIAL), (53, 18): ElementMapping( - element=Element.PITCHED_ROOF_COVERING, aspect_type=AspectType.MATERIAL + element=Element.PITCHED_ROOF_COVERING, + aspect_type=AspectType.MATERIAL, + ), + (53, 22): ElementMapping( + element=Element.PORCH_CANOPY, + aspect_type=AspectType.TYPE, + ), + (53, 47): ElementMapping( + element=Element.ROOF, + aspect_type=AspectType.STRUCTURE, ), - (53, 22): ElementMapping(element=Element.PORCH_CANOPY, aspect_type=AspectType.TYPE), - (53, 47): ElementMapping(element=Element.ROOF, aspect_type=AspectType.STRUCTURE), (110, 1): ElementMapping( - element=Element.ROOF, aspect_type=AspectType.MATERIAL, element_instance=1 + element=Element.ROOF, + aspect_type=AspectType.MATERIAL, + element_instance=1, ), (110, 2): ElementMapping( - element=Element.ROOF, aspect_type=AspectType.MATERIAL, element_instance=1 + element=Element.ROOF, + aspect_type=AspectType.MATERIAL, + element_instance=1, ), (110, 3): ElementMapping( - element=Element.CHIMNEY, aspect_type=AspectType.WORK_REQUIRED + element=Element.CHIMNEY, + aspect_type=AspectType.WORK_REQUIRED, + ), + (110, 4): ElementMapping( + element=Element.FASCIA, + aspect_type=AspectType.MATERIAL, + ), + (110, 5): ElementMapping( + element=Element.SOFFIT, + aspect_type=AspectType.MATERIAL, ), - (110, 4): ElementMapping(element=Element.FASCIA, aspect_type=AspectType.MATERIAL), - (110, 5): ElementMapping(element=Element.SOFFIT, aspect_type=AspectType.MATERIAL), (110, 6): ElementMapping( - element=Element.RAINWATER_GOODS, aspect_type=AspectType.MATERIAL + element=Element.RAINWATER_GOODS, + aspect_type=AspectType.MATERIAL, ), (110, 7): ElementMapping( element=Element.LOFT_INSULATION, aspect_type=AspectType.WORK_REQUIRED, # possibly not the right aspect type ), (110, 8): ElementMapping( - element=Element.PORCH_CANOPY, aspect_type=AspectType.MATERIAL + element=Element.PORCH_CANOPY, + aspect_type=AspectType.MATERIAL, ), # ========================================================== # EXTERNAL – DOORS & WINDOWS # ========================================================== (50, 8): ElementMapping( - element=Element.DOOR_ENTRY_HANDSET, aspect_type=AspectType.PRESENCE + element=Element.DOOR_ENTRY_HANDSET, + aspect_type=AspectType.PRESENCE, ), (53, 8): ElementMapping( - element=Element.FRONT_DOOR, aspect_type=AspectType.MATERIAL + element=Element.FRONT_DOOR, + aspect_type=AspectType.MATERIAL, ), (53, 12): ElementMapping( - element=Element.GARAGE_DOOR, aspect_type=AspectType.MATERIAL + element=Element.GARAGE_DOOR, + aspect_type=AspectType.MATERIAL, + ), + (53, 16): ElementMapping( + element=Element.LINTEL, + aspect_type=AspectType.PRESENCE, ), - (53, 16): ElementMapping(element=Element.LINTEL, aspect_type=AspectType.PRESENCE), (53, 19): ElementMapping( - element=Element.PATIO_FRENCH_DOOR, aspect_type=AspectType.MATERIAL + element=Element.PATIO_FRENCH_DOOR, + aspect_type=AspectType.MATERIAL, ), (53, 25): ElementMapping( - element=Element.REAR_DOOR, aspect_type=AspectType.MATERIAL + element=Element.REAR_DOOR, + aspect_type=AspectType.MATERIAL, ), (53, 29): ElementMapping( - element=Element.SECONDARY_GLAZING, aspect_type=AspectType.PRESENCE + element=Element.SECONDARY_GLAZING, + aspect_type=AspectType.PRESENCE, ), (53, 35): ElementMapping( - element=Element.STORE_DOOR, aspect_type=AspectType.MATERIAL + element=Element.STORE_DOOR, + aspect_type=AspectType.MATERIAL, ), (53, 38): ElementMapping( element=Element.EXTERNAL_WINDOWS, @@ -160,191 +200,275 @@ PEABODY_ELEMENT_MAP = { aspect_type=AspectType.TYPE, element_instance=2, ), - (53, 43): ElementMapping(element=Element.FRONT_DOOR, aspect_type=AspectType.TYPE), + (53, 43): ElementMapping( + element=Element.FRONT_DOOR, + aspect_type=AspectType.TYPE, + ), (130, 1): ElementMapping( - element=Element.EXTERNAL_WINDOWS, aspect_type=AspectType.MATERIAL + element=Element.EXTERNAL_WINDOWS, + aspect_type=AspectType.MATERIAL, ), (130, 2): ElementMapping( - element=Element.COMMUNAL_WINDOWS, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_WINDOWS, + aspect_type=AspectType.MATERIAL, ), (140, 1): ElementMapping( - element=Element.MAIN_DOOR, aspect_type=AspectType.MATERIAL + element=Element.MAIN_DOOR, + aspect_type=AspectType.MATERIAL, ), (140, 2): ElementMapping( - element=Element.STORE_DOOR, aspect_type=AspectType.MATERIAL + element=Element.STORE_DOOR, + aspect_type=AspectType.MATERIAL, ), # Duplicate of (53, 35) (140, 3): ElementMapping( - element=Element.GARAGE_DOOR, aspect_type=AspectType.MATERIAL + element=Element.GARAGE_DOOR, + aspect_type=AspectType.MATERIAL, ), # Duplicate of (53, 12) (140, 4): ElementMapping( - element=Element.BLOCK_ENTRANCE_DOOR, aspect_type=AspectType.MATERIAL + element=Element.BLOCK_ENTRANCE_DOOR, + aspect_type=AspectType.MATERIAL, ), # ========================================================== # EXTERNAL AREAS # ========================================================== - (53, 3): ElementMapping(element=Element.DOWNPIPES, aspect_type=AspectType.MATERIAL), - (53, 9): ElementMapping( - element=Element.FRONT_FENCING, aspect_type=AspectType.MATERIAL + (53, 3): ElementMapping( + element=Element.DOWNPIPES, + aspect_type=AspectType.MATERIAL, + ), + (53, 9): ElementMapping( + element=Element.FRONT_FENCING, + aspect_type=AspectType.MATERIAL, + ), + (53, 10): ElementMapping( + element=Element.FRONT_GATE, + aspect_type=AspectType.TYPE, ), - (53, 10): ElementMapping(element=Element.FRONT_GATE, aspect_type=AspectType.TYPE), (53, 17): ElementMapping( - element=Element.PARKING_AREAS, aspect_type=AspectType.MATERIAL + element=Element.PARKING_AREAS, + aspect_type=AspectType.MATERIAL, ), (53, 18): ElementMapping( - element=Element.PATHS_AND_HARDSTANDINGS, aspect_type=AspectType.MATERIAL + element=Element.PATHS_AND_HARDSTANDINGS, + aspect_type=AspectType.MATERIAL, ), (53, 24): ElementMapping( - element=Element.PRIVATE_BALCONY, aspect_type=AspectType.PRESENCE + element=Element.PRIVATE_BALCONY, + aspect_type=AspectType.PRESENCE, ), (53, 26): ElementMapping( - element=Element.REAR_FENCING, aspect_type=AspectType.MATERIAL + element=Element.REAR_FENCING, + aspect_type=AspectType.MATERIAL, + ), + (53, 27): ElementMapping( + element=Element.REAR_GATE, + aspect_type=AspectType.TYPE, ), - (53, 27): ElementMapping(element=Element.REAR_GATE, aspect_type=AspectType.TYPE), (53, 28): ElementMapping( - element=Element.RETAINING_WALLS, aspect_type=AspectType.PRESENCE + element=Element.RETAINING_WALLS, + aspect_type=AspectType.PRESENCE, ), (53, 31): ElementMapping( - element=Element.SIDE_FENCING, aspect_type=AspectType.MATERIAL + element=Element.SIDE_FENCING, + aspect_type=AspectType.MATERIAL, ), (53, 32): ElementMapping( - element=Element.SOIL_AND_VENT, aspect_type=AspectType.MATERIAL + element=Element.SOIL_AND_VENT, + aspect_type=AspectType.MATERIAL, ), (53, 34): ElementMapping( - element=Element.SOLAR_THERMALS, aspect_type=AspectType.PRESENCE + element=Element.SOLAR_THERMALS, + aspect_type=AspectType.PRESENCE, ), (53, 44): ElementMapping( - element=Element.GARAGE_STRUCTURE, aspect_type=AspectType.TYPE + element=Element.GARAGE_STRUCTURE, + aspect_type=AspectType.TYPE, ), (53, 45): ElementMapping( - element=Element.BALCONY_BALUSTRADE, aspect_type=AspectType.MATERIAL + element=Element.BALCONY_BALUSTRADE, + aspect_type=AspectType.MATERIAL, ), (150, 1): ElementMapping( - element=Element.BLOCK_ENTRANCE_DOOR, aspect_type=AspectType.MATERIAL + element=Element.BLOCK_ENTRANCE_DOOR, + aspect_type=AspectType.MATERIAL, ), (150, 2): ElementMapping( - element=Element.PATHS_AND_HARDSTANDINGS, aspect_type=AspectType.MATERIAL + element=Element.PATHS_AND_HARDSTANDINGS, + aspect_type=AspectType.MATERIAL, ), # Duplicate of (53, 18) - correct? - (150, 3): ElementMapping(element=Element.ROADS, aspect_type=AspectType.MATERIAL), - (150, 4): ElementMapping( - element=Element.BOUNDARY_WALLS, aspect_type=AspectType.MATERIAL + (150, 3): ElementMapping( + element=Element.ROADS, + aspect_type=AspectType.MATERIAL, + ), + (150, 4): ElementMapping( + element=Element.BOUNDARY_WALLS, + aspect_type=AspectType.MATERIAL, + ), + (150, 5): ElementMapping( + element=Element.OUTBUILDINGS, + aspect_type=AspectType.TYPE, ), - (150, 5): ElementMapping(element=Element.OUTBUILDINGS, aspect_type=AspectType.TYPE), (150, 6): ElementMapping( - element=Element.GARAGE_STRUCTURE, aspect_type=AspectType.TYPE + element=Element.GARAGE_STRUCTURE, + aspect_type=AspectType.TYPE, ), # ========================================================== # INTERNAL – BATHROOMS & KITCHENS # ========================================================== (50, 1): ElementMapping( - element=Element.SECONDARY_TOILET, aspect_type=AspectType.PRESENCE + element=Element.SECONDARY_TOILET, + aspect_type=AspectType.PRESENCE, ), (50, 9): ElementMapping( - element=Element.BATHROOM_EXTRACTOR_FAN, aspect_type=AspectType.PRESENCE + element=Element.BATHROOM_EXTRACTOR_FAN, + aspect_type=AspectType.PRESENCE, + ), + (50, 9): ElementMapping( + element=Element.KITCHEN, + aspect_type=AspectType.TYPE, ), - (50, 9): ElementMapping(element=Element.KITCHEN, aspect_type=AspectType.TYPE), (50, 10): ElementMapping( - element=Element.KITCHEN_EXTRACTOR_FAN, aspect_type=AspectType.PRESENCE + element=Element.KITCHEN_EXTRACTOR_FAN, + aspect_type=AspectType.PRESENCE, ), (50, 13): ElementMapping( - element=Element.KITCHEN_SPACE_LAYOUT, aspect_type=AspectType.ADEQUACY + element=Element.KITCHEN_SPACE_LAYOUT, + aspect_type=AspectType.ADEQUACY, + ), + (50, 17): ElementMapping( + element=Element.BATHRROM, + aspect_type=AspectType.LOCATION, ), - (50, 17): ElementMapping(element=Element.BATHRROM, aspect_type=AspectType.LOCATION), (50, 18): ElementMapping( - element=Element.BATHROOM, aspect_type=AspectType.TYPE + element=Element.BATHROOM, + aspect_type=AspectType.TYPE, ), # Actually "Primary bathroom type" - ok like this? (50, 20): ElementMapping( - element=Element.BATHROOM, aspect_type=AspectType.TYPE, element_instance=2 + element=Element.BATHROOM, + aspect_type=AspectType.TYPE, + element_instance=2, ), # Actually "Secondary bathroom type" - ok like this? - (160, 1): ElementMapping(element=Element.KITCHEN, aspect_type=AspectType.CONDITION), + (160, 1): ElementMapping( + element=Element.KITCHEN, + aspect_type=AspectType.CONDITION, + ), (160, 2): ElementMapping( - element=Element.KITCHEN_SPACE_LAYOUT, aspect_type=AspectType.ADEQUACY + element=Element.KITCHEN_SPACE_LAYOUT, + aspect_type=AspectType.ADEQUACY, ), (190, 1): ElementMapping( - element=Element.BATHROOM, aspect_type=AspectType.CONDITION + element=Element.BATHROOM, + aspect_type=AspectType.CONDITION, ), (190, 2): ElementMapping( - element=Element.SECONDARY_TOILET, aspect_type=AspectType.TYPE + element=Element.SECONDARY_TOILET, + aspect_type=AspectType.TYPE, ), # ========================================================== # COMMUNAL # ========================================================== (51, 1): ElementMapping( - element=Element.COMMUNAL_AERIAL, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_AERIAL, + aspect_type=AspectType.PRESENCE, ), (51, 2): ElementMapping( - element=Element.COMMUNAL_AOV, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_AOV, + aspect_type=AspectType.PRESENCE, ), (51, 3): ElementMapping( - element=Element.COMMUNAL_BALCONY_WALKWAY, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_BALCONY_WALKWAY, + aspect_type=AspectType.PRESENCE, ), (51, 4): ElementMapping( - element=Element.COMMUNAL_BATHROOM, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_BATHROOM, + aspect_type=AspectType.TYPE, ), (51, 5): ElementMapping( - element=Element.COMMUNAL_BIN_STORE_DOORS, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_BIN_STORE_DOORS, + aspect_type=AspectType.PRESENCE, ), (51, 6): ElementMapping( - element=Element.COMMUNAL_BIN_STORE_ROOF, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_BIN_STORE_ROOF, + aspect_type=AspectType.PRESENCE, ), (51, 7): ElementMapping( - element=Element.COMMUNAL_BIN_STORE_WALLS, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_BIN_STORE_WALLS, + aspect_type=AspectType.MATERIAL, ), (51, 8): ElementMapping( - element=Element.COMMUNAL_BMS, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_BMS, + aspect_type=AspectType.PRESENCE, ), (51, 9): ElementMapping( - element=Element.COMMUNAL_BOILER, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_BOILER, + aspect_type=AspectType.TYPE, ), (51, 10): ElementMapping( - element=Element.COMMUNAL_BOOSTER_PUMP, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_BOOSTER_PUMP, + aspect_type=AspectType.PRESENCE, ), (51, 11): ElementMapping( - element=Element.COMMUNAL_CCTV, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_CCTV, + aspect_type=AspectType.PRESENCE, ), (51, 12): ElementMapping( - element=Element.COMMUNAL_CIRCULATION_SPACE, aspect_type=AspectType.ADEQUACY + element=Element.COMMUNAL_CIRCULATION_SPACE, + aspect_type=AspectType.ADEQUACY, ), (51, 13): ElementMapping( - element=Element.COMMUNAL_COLD_WATER_STORAGE, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_COLD_WATER_STORAGE, + aspect_type=AspectType.PRESENCE, ), (51, 14): ElementMapping( - element=Element.COMMUNAL_DOOR_ENTRY, aspect_type=AspectType.SYSTEM + element=Element.COMMUNAL_DOOR_ENTRY, + aspect_type=AspectType.SYSTEM, ), (51, 15): ElementMapping( - element=Element.COMMUNAL_DRY_RISER, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_DRY_RISER, + aspect_type=AspectType.PRESENCE, ), (51, 16): ElementMapping( - element=Element.COMMUNAL_EMERGENCY_LIGHTING, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_EMERGENCY_LIGHTING, + aspect_type=AspectType.PRESENCE, ), (51, 17): ElementMapping( - element=Element.COMMUNAL_EXTERNAL_DOORS, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_EXTERNAL_DOORS, + aspect_type=AspectType.MATERIAL, ), (51, 19): ElementMapping( - element=Element.COMMUNAL_FIRE_ALARM, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_FIRE_ALARM, + aspect_type=AspectType.TYPE, ), (51, 20): ElementMapping( - element=Element.COMMUNAL_INTERNAL_DECORATIONS, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_INTERNAL_DECORATIONS, + aspect_type=AspectType.PRESENCE, ), (51, 21): ElementMapping( - element=Element.COMMUNAL_INTERNAL_DOORS, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_INTERNAL_DOORS, + aspect_type=AspectType.MATERIAL, ), (51, 22): ElementMapping( - element=Element.COMMUNAL_INTERNAL_FLOOR, aspect_type=AspectType.FINISH + element=Element.COMMUNAL_INTERNAL_FLOOR, + aspect_type=AspectType.FINISH, ), (51, 23): ElementMapping( - element=Element.COMMUNAL_KITCHEN, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_KITCHEN, + aspect_type=AspectType.TYPE, ), (51, 24): ElementMapping( - element=Element.COMMUNAL_LATERAL_MAINS, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_LATERAL_MAINS, + aspect_type=AspectType.PRESENCE, ), (51, 25): ElementMapping( - element=Element.COMMUNAL_LIGHTING, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_LIGHTING, + aspect_type=AspectType.PRESENCE, ), (51, 26): ElementMapping( - element=Element.COMMUNAL_LIGHTING_CONDUCTOR, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_LIGHTING_CONDUCTOR, + aspect_type=AspectType.PRESENCE, ), (51, 27): ElementMapping( - element=Element.COMMUNAL_PASSENGER_LIFT, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_PASSENGER_LIFT, + aspect_type=AspectType.TYPE, ), (51, 28): ElementMapping( element=Element.COMMUNAL_ENTRANCE, @@ -357,135 +481,176 @@ PEABODY_ELEMENT_MAP = { element_instance=2, ), (51, 14): ElementMapping( - element=Element.COMMUNAL_SPRINKLER, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_SPRINKLER, + aspect_type=AspectType.PRESENCE, ), (51, 29): ElementMapping( - element=Element.COMMUNAL_REFUSE_CHUTE, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_REFUSE_CHUTE, + aspect_type=AspectType.PRESENCE, ), (51, 32): ElementMapping( - element=Element.COMMUNAL_STAIRS, aspect_type=AspectType.FINISH + element=Element.COMMUNAL_STAIRS, + aspect_type=AspectType.FINISH, ), (51, 33): ElementMapping( - element=Element.COMMUNAL_STORE_DOORS, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_STORE_DOORS, + aspect_type=AspectType.MATERIAL, ), (51, 34): ElementMapping( - element=Element.COMMUNAL_STORE_ROOF, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_STORE_ROOF, + aspect_type=AspectType.MATERIAL, ), (51, 35): ElementMapping( - element=Element.COMMUNAL_STORE_WALLS, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_STORE_WALLS, + aspect_type=AspectType.MATERIAL, ), (51, 36): ElementMapping( - element=Element.COMMUNAL_WALKWAYS, aspect_type=AspectType.FINISH + element=Element.COMMUNAL_WALKWAYS, + aspect_type=AspectType.FINISH, ), (51, 37): ElementMapping( - element=Element.COMMUNAL_WARDEN_CALL_SYSTEM, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_WARDEN_CALL_SYSTEM, + aspect_type=AspectType.PRESENCE, ), (51, 38): ElementMapping( - element=Element.COMMUNAL_TOILETS, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_TOILETS, + aspect_type=AspectType.TYPE, ), (51, 39): ElementMapping( - element=Element.COMMUNAL_WET_RISER, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_WET_RISER, + aspect_type=AspectType.PRESENCE, ), (51, 40): ElementMapping( - element=Element.COMMUNAL_PLUG_SOCKETS, aspect_type=AspectType.PRESENCE + element=Element.COMMUNAL_PLUG_SOCKETS, + aspect_type=AspectType.PRESENCE, ), (200, 1): ElementMapping( - element=Element.COMMUNAL_BOILER, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_BOILER, + aspect_type=AspectType.TYPE, ), # Duplicate of (51, 9) - correct? (200, 2): ElementMapping( - element=Element.COMMUNAL_HEATING, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_HEATING, + aspect_type=AspectType.TYPE, ), (200, 3): ElementMapping( - element=Element.COMMUNAL_ELECTRICS, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_ELECTRICS, + aspect_type=AspectType.TYPE, ), (200, 4): ElementMapping( - element=Element.COMMUNAL_FIRE_ALARM, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_FIRE_ALARM, + aspect_type=AspectType.TYPE, ), (200, 5): ElementMapping( - element=Element.COMMUNAL_LIFT, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_LIFT, + aspect_type=AspectType.TYPE, ), (200, 6): ElementMapping( - element=Element.COMMUNAL_FLOOR_COVERING, aspect_type=AspectType.MATERIAL + element=Element.COMMUNAL_FLOOR_COVERING, + aspect_type=AspectType.MATERIAL, ), (200, 7): ElementMapping( - element=Element.COMMUNAL_KITCHEN, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_KITCHEN, + aspect_type=AspectType.TYPE, ), (200, 8): ElementMapping( - element=Element.COMMUNAL_BATHROOM, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_BATHROOM, + aspect_type=AspectType.TYPE, ), # Duplicate of (51, 4) - correct? (200, 9): ElementMapping( - element=Element.COMMUNAL_TOILETS, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_TOILETS, + aspect_type=AspectType.TYPE, ), # Duplicate of (51, 38) - correct? (200, 10): ElementMapping( - element=Element.COMMUNAL_GATES, aspect_type=AspectType.TYPE + element=Element.COMMUNAL_GATES, + aspect_type=AspectType.TYPE, ), # ========================================================== # INTERNAL – HEATING # ========================================================== (50, 4): ElementMapping( - element=Element.HEATING_BOILER, aspect_type=AspectType.PRESENCE + element=Element.HEATING_BOILER, + aspect_type=AspectType.PRESENCE, ), # This is actually "Central heating boiler" - ok like this? (50, 5): ElementMapping( - element=Element.CENTRAL_HEATING, aspect_type=AspectType.EXTENT + element=Element.CENTRAL_HEATING, + aspect_type=AspectType.EXTENT, ), (50, 6): ElementMapping( - element=Element.COLD_WATER_STORAGE, aspect_type=AspectType.PRESENCE + element=Element.COLD_WATER_STORAGE, + aspect_type=AspectType.PRESENCE, ), (50, 12): ElementMapping( - element=Element.HEATING_DISTRIBUTION, aspect_type=AspectType.TYPE + element=Element.HEATING_DISTRIBUTION, + aspect_type=AspectType.TYPE, ), (50, 19): ElementMapping( - element=Element.PROGRAMMABLE_HEATING, aspect_type=AspectType.TYPE + element=Element.PROGRAMMABLE_HEATING, + aspect_type=AspectType.TYPE, ), (50, 25): ElementMapping( - element=Element.HEATING_BOILER, aspect_type=AspectType.TYPE + element=Element.HEATING_BOILER, + aspect_type=AspectType.TYPE, ), (170, 1): ElementMapping( - element=Element.HEATING_BOILER, aspect_type=AspectType.TYPE + element=Element.HEATING_BOILER, + aspect_type=AspectType.TYPE, ), # Duplicate of (50,25) - correct? (170, 2): ElementMapping( - element=Element.HEATING_DISTRIBUTION, aspect_type=AspectType.TYPE + element=Element.HEATING_DISTRIBUTION, + aspect_type=AspectType.TYPE, ), # Duplicate of (50,12) - correct? (170, 3): ElementMapping( - element=Element.SECONDARY_HEATING, aspect_type=AspectType.TYPE + element=Element.SECONDARY_HEATING, + aspect_type=AspectType.TYPE, ), (170, 4): ElementMapping( - element=Element.COLD_WATER_STORAGE, aspect_type=AspectType.TYPE + element=Element.COLD_WATER_STORAGE, + aspect_type=AspectType.TYPE, ), (170, 5): ElementMapping( - element=Element.HOT_WATER_SYSTEM, aspect_type=AspectType.TYPE + element=Element.HOT_WATER_SYSTEM, + aspect_type=AspectType.TYPE, ), # ========================================================== # ELECTRICS # ========================================================== (50, 24): ElementMapping( - element=Element.INTERNAL_WIRING, aspect_type=AspectType.MATERIAL + element=Element.INTERNAL_WIRING, + aspect_type=AspectType.MATERIAL, ), (180, 1): ElementMapping( - element=Element.ELECTRICAL_WIRING, aspect_type=AspectType.WORK_REQUIRED + element=Element.ELECTRICAL_WIRING, + aspect_type=AspectType.WORK_REQUIRED, ), # Not certain about the AspectType - only example in the sample data is "Full Rewire" (180, 2): ElementMapping( - element=Element.CONSUMER_UNIT, aspect_type=AspectType.TYPE + element=Element.CONSUMER_UNIT, + aspect_type=AspectType.TYPE, ), (180, 3): ElementMapping( - element=Element.SMOKE_DETECTION, aspect_type=AspectType.TYPE + element=Element.SMOKE_DETECTION, + aspect_type=AspectType.TYPE, ), # Duplicate of (50, 21) - correct? (180, 4): ElementMapping( - element=Element.CARBON_MONOXIDE_DETECTION, aspect_type=AspectType.TYPE + element=Element.CARBON_MONOXIDE_DETECTION, + aspect_type=AspectType.TYPE, ), # Duplicate of (50, 2) - correct? # ========================================================== # HHSRS # ========================================================== (54, 1): ElementMapping( - element=Element.HHSRS_DAMP_AND_MOULD, aspect_type=AspectType.RISK + element=Element.HHSRS_DAMP_AND_MOULD, + aspect_type=AspectType.RISK, ), (54, 4): ElementMapping( - element=Element.HHSRS_ASBESTOS_AND_MMF, aspect_type=AspectType.RISK + element=Element.HHSRS_ASBESTOS_AND_MMF, + aspect_type=AspectType.RISK, ), (54, 15): ElementMapping( - element=Element.HHSRS_DOMESTIC_HYGIENE_PESTS_REFUSE, aspect_type=AspectType.RISK + element=Element.HHSRS_DOMESTIC_HYGIENE_PESTS_REFUSE, + aspect_type=AspectType.RISK, ), (54, 29): ElementMapping( - element=Element.HHSRS_STRUCTURAL_COLLAPSE, aspect_type=AspectType.RISK + element=Element.HHSRS_STRUCTURAL_COLLAPSE, + aspect_type=AspectType.RISK, ), }