From 1a52c5f81e033a56caa1b77bd068c0d60697c9bd Mon Sep 17 00:00:00 2001 From: Tyler Adam Martinez Date: Thu, 4 Dec 2025 14:41:25 -0600 Subject: [PATCH 1/2] [waterlevels_transfer] Update _get_groundwater_level_reason func --- transfers/waterlevels_transfer.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/transfers/waterlevels_transfer.py b/transfers/waterlevels_transfer.py index 270592a66..81070433e 100644 --- a/transfers/waterlevels_transfer.py +++ b/transfers/waterlevels_transfer.py @@ -14,6 +14,7 @@ # limitations under the License. # =============================================================================== import json +from typing import Optional import uuid from datetime import datetime @@ -51,7 +52,6 @@ def get_contacts_info( row, measured_by, measured_by_mapper ) -> list[tuple[str, str, str]]: - # TODO: get help figuring out (AMP) if measured_by in measured_by_mapper: args = measured_by_mapper[measured_by] @@ -230,15 +230,23 @@ def _make_sample(self, row, field_activity, dt_utc, sampler) -> Sample: ) return sample - def _get_groundwater_level_reason(self, row) -> str: + def _get_groundwater_level_reason(self, row) -> Optional[str]: glv = row.LevelStatus if pd.isna(glv): return None - glv = lexicon_mapper.map_value(f"LU_LevelStatus:{glv}") - if glv == "Water level not affected by status": - glv = "Water level not affected" - return glv + lookup_key = f"LU_LevelStatus:{glv}" + mapped = lexicon_mapper.map_value(lookup_key) + + # If the mapper returns the raw key, it means "not mapped" + if mapped == lookup_key: + logger.warning(f"Unknown LevelStatus '{glv}', mapping to None") + return None + + if mapped == "Water level not affected by status": + mapped = "Water level not affected" + + return mapped def _get_field_event_participants(self, session, row, thing) -> list[Contact]: field_event_participants = [] From 5ec367ae3802dbd8dc0e01335c4f4ab9d34cbbcf Mon Sep 17 00:00:00 2001 From: Tyler Adam Martinez Date: Thu, 4 Dec 2025 16:45:41 -0600 Subject: [PATCH 2/2] [waterlevels_transfer] Upgrade logging of not mapped to critical --- transfers/waterlevels_transfer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transfers/waterlevels_transfer.py b/transfers/waterlevels_transfer.py index 81070433e..3244a6ff0 100644 --- a/transfers/waterlevels_transfer.py +++ b/transfers/waterlevels_transfer.py @@ -240,7 +240,7 @@ def _get_groundwater_level_reason(self, row) -> Optional[str]: # If the mapper returns the raw key, it means "not mapped" if mapped == lookup_key: - logger.warning(f"Unknown LevelStatus '{glv}', mapping to None") + logger.critical(f"Unknown LevelStatus '{glv}', mapping to None") return None if mapped == "Water level not affected by status":