From a05ab1d14a9d05136a6cb1c1b3678d6db2d72055 Mon Sep 17 00:00:00 2001 From: David McKenna <mckenna@astron.nl> Date: Tue, 10 Jun 2025 13:34:50 +0200 Subject: [PATCH] FIX: Pass on invalid station configurations instead of exiting. --- l2json/parsers/parse_json.py | 2 +- l2json/sources/generators.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/l2json/parsers/parse_json.py b/l2json/parsers/parse_json.py index 114b967..474b84e 100644 --- a/l2json/parsers/parse_json.py +++ b/l2json/parsers/parse_json.py @@ -103,7 +103,7 @@ def get_last_valid_device_value( value = get_value_from_metadata(metadata, antennafield, output_key, device_mapping) if value is not None: return value - raise KeyError(f"No value found for {output_key=} in provided metadata dicts.") + print(f"No value found for {output_key=} in provided metadata dicts.") # def get_static_metadata(filtered_metadata: list[dict[str, Any]], antennafield: str, keys: set[str]) -> dict[str, str]: diff --git a/l2json/sources/generators.py b/l2json/sources/generators.py index 278a88a..d580bad 100644 --- a/l2json/sources/generators.py +++ b/l2json/sources/generators.py @@ -106,6 +106,9 @@ def yield_l2obs_from_params( continue # filtered_metadata, filtered_data = metadata, data - l2obs = parse_json.build_lofar2_observation(filtered_metadata, filtered_data) + try: + l2obs = parse_json.build_lofar2_observation(filtered_metadata, filtered_data) - yield (station, field, datatype, obs_id), l2obs + yield (station, field, datatype, obs_id), l2obs + except Exception as e: + print(f"Skipping {obs_id=} for {station}{field} due to {e=}") -- GitLab