From b63f5670f4f2f9a48a9f4ea61469888f5f56606a Mon Sep 17 00:00:00 2001
From: Kenzo-Hugo Hillion <kenzo-hugo.hillion1@pasteur.fr>
Date: Tue, 6 Aug 2019 15:10:46 +0200
Subject: [PATCH] Change status when no content for gene_length

---
 backend/metagenedb/api/catalog/views/gene.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/backend/metagenedb/api/catalog/views/gene.py b/backend/metagenedb/api/catalog/views/gene.py
index a618a36..4757916 100644
--- a/backend/metagenedb/api/catalog/views/gene.py
+++ b/backend/metagenedb/api/catalog/views/gene.py
@@ -1,6 +1,7 @@
 import pandas as pd
 from rest_framework.viewsets import GenericViewSet
 from rest_framework import mixins
+from rest_framework import status
 from rest_framework.decorators import action
 from rest_framework.response import Response
 
@@ -29,7 +30,7 @@ class GeneViewSet(mixins.ListModelMixin,
         labels = []
         for rg in all_ranges:
             labels.append(f"{rg[0]}-{rg[1]-1}")
-            data.append(df[get_mask(df, rg, window_col)].count()['gene_length'])
+            data.append(df[get_mask(df, rg, window_col)].count()[window_col])
         return {
             'counts': data,
             'labels': labels
@@ -40,6 +41,11 @@ class GeneViewSet(mixins.ListModelMixin,
         if 'window_size' in request.query_params:
             window_size = int(request.query_params.get('window_size'))
         df = pd.DataFrame(list(self.queryset.values(self.GENE_LENGTH_COL)))
+        if df.empty:
+            return Response(
+                {'results': {}},
+                status=status.HTTP_204_NO_CONTENT
+            )
         return Response(
             {'results': self._count_windows(df, window_size)}
         )
-- 
GitLab