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
Branches
Tags
1 merge request!4Feature/add arbor support
Pipeline #163331 failed
...@@ -76,19 +76,23 @@ def SetupArborTables(postgres_username, postgres_password, port): ...@@ -76,19 +76,23 @@ def SetupArborTables(postgres_username, postgres_password, port):
FOREIGN KEY (CELL_ID) REFERENCES CELLS (CELL_ID), 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 ( cur.execute('''CREATE TABLE PROBES (
PROBE_ID INT PRIMARY KEY NOT NULL UNIQUE, PROBE_ID INT PRIMARY KEY NOT NULL UNIQUE,
CELL_ID INT NOT NULL, CELL_ID INT NOT NULL,
SEGMENT_ID INT NOT NULL, SEGMENT_ID INT NOT NULL,
POSITION FLOAT, POSITION FLOAT,
ATTRIBUTE_ID INT NOT NULL,
NODE_ID INT, NODE_ID INT,
FOREIGN KEY (NODE_ID) REFERENCES ARBOR_SIMULATION_NODES (NODE_ID), 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.commit()
con.close() con.close()
......
...@@ -157,15 +157,27 @@ def arbor_get_probes(attribute=None): # noqa: E501 ...@@ -157,15 +157,27 @@ def arbor_get_probes(attribute=None): # noqa: E501
con = connect_to_database() con = connect_to_database()
cur = con.cursor() cur = con.cursor()
# TODO Multiple Attributes per Probe possible? - Complete this
if attribute == None: 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() con.close()
return
return [Probe(*probe) for probe in probes]
def arbor_get_simulation_time_info(): # noqa: E501 def arbor_get_simulation_time_info(): # noqa: E501
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment