From 7da320cf28df32bd4a755c4e85bbc6b79913c57c Mon Sep 17 00:00:00 2001
From: James Graham <J.Graham@software.ac.uk>
Date: Fri, 15 Feb 2019 15:19:41 +0000
Subject: [PATCH] Use try-catch to map back id field in MongoDB connector

---
 datasources/connectors/csv.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/datasources/connectors/csv.py b/datasources/connectors/csv.py
index 4de3b4d..f218b07 100644
--- a/datasources/connectors/csv.py
+++ b/datasources/connectors/csv.py
@@ -3,7 +3,6 @@ Connectors for handling CSV data.
 """
 
 import csv
-import json
 import typing
 
 from django.http import JsonResponse
@@ -168,9 +167,12 @@ class CsvToMongoConnector(InternalDataConnector, DataSetConnector):
 
             # Couldn't store field 'id' in document - recover it
             for item in data:
-                if self.id_field_alias in item:
+                try:
                     item['id'] = item.pop(self.id_field_alias)
 
+                except KeyError:
+                    pass
+
             return JsonResponse({
                 'status': 'success',
                 'data': data,
-- 
GitLab