From 8486440ca33644d6a7f27431d4ef7e2596dc2514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=BCller?= <j.mueller@vr.rwth-aachen.de> Date: Wed, 4 Mar 2020 11:10:57 +0100 Subject: [PATCH] Add Nest neuron property functionality --- access_node/controllers/nest_controller.py | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/access_node/controllers/nest_controller.py b/access_node/controllers/nest_controller.py index 53600ab..d7fc66e 100644 --- a/access_node/controllers/nest_controller.py +++ b/access_node/controllers/nest_controller.py @@ -167,12 +167,30 @@ def nest_get_neuron_properties(gids=None): # noqa: E501 password="docker", host="database", port="5432") cur = con.cursor() - # TODO HANDLE gids=None - + cur.execute("Select * FROM GIDS LIMIT 0") + colnames = np.array([desc[0] for desc in cur.description]) + # column 1 and 2 contain the Node_id/Population_id and thus are removed + colnames = np.delete(colnames, [1,2]) + if gids == None: + cur.execute("Select * FROM GIDS") + else: + cur.execute("Select * FROM GIDS WHERE GID IN %s", (tuple(gids),)) con.close() - return "Not Implemented yet" + + properties = np.array(cur.fetchall()) + properties = np.delete(properties, [1,2], 1) + + NestProps = [] + for k in range(len(properties[:,0])): + props = {} + id = properties[k,0] + for i in range(1, len(colnames)): + props.update({colnames[i]: properties[k,i]}) + NestProps.extend(NestNeuronProperties(id, props)) + + return NestProps def nest_get_populations(): # noqa: E501 -- GitLab