From 652fdae4202806fdfee3de7a1e121fa2dba3d136 Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Wed, 15 Oct 2025 20:35:01 +0300 Subject: [PATCH 1/2] Added exception for non-existing indicator sets --- src/indicators/resources.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/indicators/resources.py b/src/indicators/resources.py index 4860568..796e4bd 100644 --- a/src/indicators/resources.py +++ b/src/indicators/resources.py @@ -63,15 +63,18 @@ def process_pathogens(row) -> None: def process_indicator_set(row) -> None: + indicator_set_id = None if row["Indicator Set"]: indicator_set_name = row["Indicator Set"].strip() - indicator_set_obj = IndicatorSet.objects.get( - name=indicator_set_name - ) - if indicator_set_obj: - row["Indicator Set"] = indicator_set_obj.id - else: - row["Indicator Set"] = None + try: + indicator_set_obj = IndicatorSet.objects.get( + name=indicator_set_name + ) + indicator_set_id = indicator_set_obj.id + except IndicatorSet.DoesNotExist: + logger.warning(f"Indicator Set '{indicator_set_name}' not found.") + row["Indicator Set"] = indicator_set_id + def process_indicator_type(row) -> None: From e8f325a283ef6b528cc00c707c442c8b530d8fac Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Wed, 15 Oct 2025 20:36:43 +0300 Subject: [PATCH 2/2] FIxed field mapping --- src/indicators/resources.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/indicators/resources.py b/src/indicators/resources.py index 796e4bd..ce6fd75 100644 --- a/src/indicators/resources.py +++ b/src/indicators/resources.py @@ -67,16 +67,13 @@ def process_indicator_set(row) -> None: if row["Indicator Set"]: indicator_set_name = row["Indicator Set"].strip() try: - indicator_set_obj = IndicatorSet.objects.get( - name=indicator_set_name - ) + indicator_set_obj = IndicatorSet.objects.get(name=indicator_set_name) indicator_set_id = indicator_set_obj.id except IndicatorSet.DoesNotExist: logger.warning(f"Indicator Set '{indicator_set_name}' not found.") row["Indicator Set"] = indicator_set_id - def process_indicator_type(row) -> None: if row["Indicator Type"]: indicator_type = row["Indicator Type"] @@ -507,7 +504,7 @@ class OtherEndpointIndicatorResource(ModelResource): pathogens = Field( attribute="pathogens", column_name="Pathogen/\nDisease Area", - widget=ManyToManyWidget(Pathogen, field="name", separator=","), + widget=ManyToManyWidget(Pathogen), ) indicator_type = Field( attribute="indicator_type",