From 7072499b2edf8b67a93894aeb0a53c96a06eb388 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 14 Jul 2026 17:17:48 +0000 Subject: [PATCH] =?UTF-8?q?Code=20PAS=20Hub=20Bulk=20LPG=20and=20Mains=20G?= =?UTF-8?q?as=20main-fuel=20labels=20to=20SAP=20codes=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- datatypes/epc/domain/mapper.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/datatypes/epc/domain/mapper.py b/datatypes/epc/domain/mapper.py index 3e56e8cae..46703be36 100644 --- a/datatypes/epc/domain/mapper.py +++ b/datatypes/epc/domain/mapper.py @@ -7112,6 +7112,14 @@ class UnmappedPasHubLabel(ValueError): # (ADR-0015) rather than being silently mis-billed downstream. _PASHUB_MAIN_FUEL_TO_SAP10: Dict[str, int] = { "Mains gas": 26, # matches the Elmhurst mapper's mains-gas code + # The newer PasHub site-note form lodges the fuel under a `Fuel:` label with + # a capitalised value; same fuel, same code as "Mains gas" above (#1558). + "Mains Gas": 26, + # Bulk LPG → Table 32 code 2 (bulk LPG); 27 = epc_codes `main_fuel` "LPG + # (not community)", the same code the Elmhurst map pins for "Bulk LPG" + # (see `_ELMHURST_MAIN_FUEL_TO_SAP10`). Last residual cohort label that + # parse-raised `UnmappedPasHubLabel` (#1558). + "Bulk LPG": 27, "Electricity": 30, # the standard-electricity fuel code }