From ecaf564ef11bf24ecfc7be3826f4ace6971bc323 Mon Sep 17 00:00:00 2001
From: Ines de Matos <id353@cam.ac.uk>
Date: Tue, 14 Apr 2020 13:08:43 +0100
Subject: [PATCH] Fixes out of range error if CSV download did not have any
 data

---
 api/views.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/api/views.py b/api/views.py
index c34c9f8..3fe8e64 100644
--- a/api/views.py
+++ b/api/views.py
@@ -358,10 +358,11 @@ class DumpViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
                 for k in header
             }
 
-        header = serializer.data[0].keys()
-        writer = csv.DictWriter(response, fieldnames=header)
-        # Customised header row
-        writer.writerow(formatted_header(header))
-        writer.writerows(serializer.data)
+        if len(serializer.data) > 0:
+            header = serializer.data[0].keys()
+            writer = csv.DictWriter(response, fieldnames=header)
+            # Customised header row
+            writer.writerow(formatted_header(header))
+            writer.writerows(serializer.data)
 
         return response
-- 
GitLab