diff options
Diffstat (limited to 'gn3')
-rw-r--r-- | gn3/case_attributes.py | 17 |
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"]} |