Skip to content
Snippets Groups Projects
Commit 23cde5d7 authored by Jan Müller's avatar Jan Müller
Browse files

Add missing implementations for Arbor controller

parent 76f126f6
No related branches found
No related tags found
1 merge request!4Feature/add arbor support
Pipeline #163331 failed
......@@ -76,19 +76,23 @@ def SetupArborTables(postgres_username, postgres_password, port):
FOREIGN KEY (CELL_ID) REFERENCES CELLS (CELL_ID),
);''')
cur.execute('''CREATE TABLE ATTRIBUTES (
ATTRIBUTE_ID INT PRIMARY KEY NOT NULL UNIQUE,
NAME VARCHAR(50) NOT NULL,
);''')
cur.execute('''CREATE TABLE PROBES (
PROBE_ID INT PRIMARY KEY NOT NULL UNIQUE,
CELL_ID INT NOT NULL,
SEGMENT_ID INT NOT NULL,
POSITION FLOAT,
NODE_ID INT,
ATTRIBUTE_ID INT NOT NULL,
NODE_ID INT,
FOREIGN KEY (NODE_ID) REFERENCES ARBOR_SIMULATION_NODES (NODE_ID),
FOREIGN KEY (CELL_ID) REFERENCES CELLS (CELL_ID));''')
FOREIGN KEY (CELL_ID) REFERENCES CELLS (CELL_ID),
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES ATTRIBUTES (ATTRIBUTE_ID));''')
cur.execute('''CREATE TABLE ATTRIBUTES (
ATTRIBUTE_ID INT PRIMARY KEY NOT NULL UNIQUE,
NAME VARCHAR(50) NOT NULL,
);''')
con.commit()
con.close()
......
......@@ -157,15 +157,27 @@ def arbor_get_probes(attribute=None): # noqa: E501
con = connect_to_database()
cur = con.cursor()
# TODO Multiple Attributes per Probe possible? - Complete this
if attribute == None:
cur.execute("SELECT PROBE_ID, CELL_ID, SEGMENT_ID, POSITION FROM PROBES")
cur.execute('''SELECT
PROBES.PROBE_ID,
PROBES.CELL_ID,
PROBES.SEGMENT_ID,
PROBES.POSITION,
FROM PROBES''')
else:
cur.execute('''SELECT
PROBES.PROBE_ID,
PROBES.CELL_ID,
PROBES.SEGMENT_ID,
PROBES.POSITION,
FROM PROBES INNER JOIN ATTRIBUTES
ON PROBES.ATTRIBUTE_ID = ATTRIBUTES.ATTRIBUTE_ID
WHERE ATTRIBUTES.NAME = %s''', (attribute,))
probes = np.array(cur.fetchall())
con.close()
return
return [Probe(*probe) for probe in probes]
def arbor_get_simulation_time_info(): # noqa: E501
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment