about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn3/case_attributes.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/gn3/case_attributes.py b/gn3/case_attributes.py
index 67bb407..78fc579 100644
--- a/gn3/case_attributes.py
+++ b/gn3/case_attributes.py
@@ -13,15 +13,20 @@ from gn3.auth.authorisation.errors import AuthorisationError
 
 caseattr = Blueprint("case-attribute", __name__)
 
-@caseattr.route("/<int:inbredset_id>/names", methods=["GET"])
-def inbredset_case_attribute_names(inbredset_id: int) -> Response:
-    """Retrieve ALL case-attributes for a specific InbredSet group."""
-    with (database_connection(current_app.config["SQL_URI"]) as conn,
-          conn.cursor(cursorclass=DictCursor) as cursor):
+def __case_attribute_labels_by_inbred_set__(conn, inbredset_id):
+    """Return the case-attribute labels/names for the given InbredSet group."""
+    with conn.cursor(cursorclass=DictCursor) as cursor:
         cursor.execute(
             "SELECT * FROM CaseAttribute WHERE InbredSetId=%(inbredset_id)s",
             {"inbredset_id": inbredset_id})
-        return jsonify(tuple(dict(row) for row in cursor.fetchall()))
+        return tuple(dict(row) for row in cursor.fetchall())
+
+@caseattr.route("/<int:inbredset_id>/names", methods=["GET"])
+def inbredset_case_attribute_names(inbredset_id: int) -> Response:
+    """Retrieve ALL case-attributes for a specific InbredSet group."""
+    with database_connection(current_app.config["SQL_URI"]) as conn:
+        return jsonify(
+            __case_attribute_labels_by_inbred_set__(conn, inbredset_id))
 
 def __by_strain__(accumulator, item):
     attr = {item["CaseAttributeName"]: item["CaseAttributeValue"]}