From 3f5ef589fbb06f4bcb93839fac524e57b41b4f3c Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Fri, 18 Apr 2025 19:43:24 +0300 Subject: [PATCH 1/2] Handled some errors in import script --- src/signals/resources.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/signals/resources.py b/src/signals/resources.py index a6522c2..8f9f5d4 100644 --- a/src/signals/resources.py +++ b/src/signals/resources.py @@ -227,7 +227,7 @@ class SignalBaseResource(ModelResource): source = Field( attribute="source", column_name="Source Subdivision", - widget=ForeignKeyWidget(SourceSubdivision), + widget=ForeignKeyWidget(SourceSubdivision, field="name"), ) class Meta: @@ -427,8 +427,14 @@ def after_import_row(self, row, row_result, **kwargs): for link in row["Links"]: signal_obj.related_links.add(link) process_available_geographies(row) - signal_obj.severity_pyramid_rung = SeverityPyramidRung.objects.get(id=row["Surveillance Categories"]) - signal_obj.format_type = FormatType.objects.get(id=row["Format"]) + try: + signal_obj.severity_pyramid_rung = SeverityPyramidRung.objects.get(id=row["Surveillance Categories"]) + except ValueError: + signal_obj.severity_pyramid_rung = None + try: + signal_obj.format_type = FormatType.objects.get(id=row["Format"]) + except ValueError: + signal_obj.format_type = None signal_obj.save() except Signal.DoesNotExist as e: print(f"Signal.DoesNotExist: {e}") @@ -621,8 +627,14 @@ def after_import_row(self, row, row_result, **kwargs): for link in row["Links"]: signal_obj.related_links.add(link) process_available_geographies(row) - signal_obj.severity_pyramid_rung = SeverityPyramidRung.objects.get(id=row["Surveillance Categories"]) - signal_obj.format_type = FormatType.objects.get(id=row["Format"]) + try: + signal_obj.severity_pyramid_rung = SeverityPyramidRung.objects.get(id=row["Surveillance Categories"]) + except ValueError: + signal_obj.severity_pyramid_rung = None + try: + signal_obj.format_type = FormatType.objects.get(id=row["Format"]) + except ValueError: + signal_obj.format_type = None signal_obj.save() except Signal.DoesNotExist as e: print(f"Signal.DoesNotExist: {e}") From 0f09875b3a7f0153a23436ff1abea1d6f94a370e Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Fri, 2 May 2025 20:00:29 +0300 Subject: [PATCH 2/2] Fixed which column to use for indicator display name in import script --- src/signals/resources.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/signals/resources.py b/src/signals/resources.py index 8f9f5d4..8e88772 100644 --- a/src/signals/resources.py +++ b/src/signals/resources.py @@ -447,7 +447,7 @@ class OtherEndpointSignalResource(ModelResource): name = Field(attribute="name", column_name="Indicator") display_name = Field(attribute="display_name", column_name="Name") - member_name = Field(attribute="member_name", column_name="Member API Name") + member_name = Field(attribute="member_name", column_name="Member Name") member_short_name = Field( attribute="member_short_name", column_name="Member Short Name" )