about summary refs log tree commit diff
path: root/wqflask/base
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2022-09-12 06:45:59 +0300
committerFrederick Muriuki Muriithi2022-09-12 06:45:59 +0300
commit18f4682a27630bd81eb0b1514476c2cf0f663a63 (patch)
tree38693342340285329cc1d8bdd2d9c9c4a20982d3 /wqflask/base
parent228a5545adb47fee0de22e55536ee612aab9be66 (diff)
downloadgenenetwork2-18f4682a27630bd81eb0b1514476c2cf0f663a63.tar.gz
Check db resultset before indexing into it
The assumption that the resultset will never be empty was leading to a
lot of errors.
Diffstat (limited to 'wqflask/base')
-rw-r--r--wqflask/base/data_set.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py
index dda5e8f9..47c03b06 100644
--- a/wqflask/base/data_set.py
+++ b/wqflask/base/data_set.py
@@ -328,8 +328,11 @@ class DatasetGroup:
                     "InbredSet.InbredSetCode "
                     "FROM InbredSet WHERE Name = %s",
                     (dataset.name,))
-            (self.name, self.id,
-             self.genetic_type, self.code) = cursor.fetchone()
+            results = cursor.fetchone()
+            if results:
+                (self.name, self.id, self.genetic_type, self.code) = results
+            else:
+                self.name = name or dataset.name
         if self.name == 'BXD300':
             self.name = "BXD"
 
@@ -353,7 +356,9 @@ class DatasetGroup:
                 "SELECT MappingMethodId FROM "
                 "InbredSet WHERE Name= %s",
                 (self.name,))
-            mapping_id = cursor.fetchone()[0]
+            results = cursor.fetchone()
+            if results and results[0]:
+                mapping_id = results[0]
         if mapping_id == "1":
             mapping_names = ["GEMMA", "QTLReaper", "R/qtl"]
         elif mapping_id == "2":
@@ -1227,8 +1232,8 @@ def geno_mrna_confidentiality(ob):
             f"AuthorisedUsers FROM {ob.type}Freeze WHERE Name = %s",
             (ob.name,)
         )
-        result = cursor.fetchall()[0]
-        if result:
+        result = cursor.fetchall()
+        if len(result) > 0 and result[0]:
             return True