Loading transfer_service/db_connector.py +53 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,22 @@ class DbConnector(object): ##### Node ##### def nodeExists(self, vospacePath): """Checks if a VOSpace node already exists. Returns a boolean.""" with self.getConnection() as conn: try: cursor = conn.cursor(cursor_factory = RealDictCursor) cursor.execute("SELECT * FROM node_vos_path WHERE vos_path = %s;", (vospacePath,)) result = cursor.fetchall() except Exception as e: if not conn.closed: conn.rollback() print(e) if result: return True else: return False def getOSPath(self, vospacePath): """Returns a list containing full path, storage type and username for a VOSpace path.""" with self.getConnection() as conn: Loading Loading @@ -705,6 +721,42 @@ class DbConnector(object): if not conn.closed: conn.rollback() def updateGroupRead(self, groupsToAdd, groupsToRemove, nodeVOSPath): with self.getConnection() as conn: try: cursor = conn.cursor(cursor_factory = RealDictCursor) cursor.execute(""" UPDATE node c SET group_read = update_array(c.group_read, %s::VARCHAR[], %s::VARCHAR[]) FROM node n WHERE c.path <@ n.path AND n.node_id = id_from_vos_path(%s); """, (groupsToAdd, groupsToRemove, nodeVOSPath,)) conn.commit() except Exception as e: if not conn.closed: conn.rollback() def updateGroupWrite(self, groupsToAdd, groupsToRemove, nodeVOSPath): with self.getConnection() as conn: try: cursor = conn.cursor(cursor_factory = RealDictCursor) cursor.execute(""" UPDATE node c SET group_write = update_array(c.group_write, %s::VARCHAR[], %s::VARCHAR[]) FROM node n WHERE c.path <@ n.path AND n.node_id = id_from_vos_path(%s); """, (groupsToAdd, groupsToRemove, nodeVOSPath,)) conn.commit() except Exception as e: if not conn.closed: conn.rollback() ##### Storage ##### def insertStorage(self, storageType, basePath, baseUrl, hostname): Loading Loading
transfer_service/db_connector.py +53 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,22 @@ class DbConnector(object): ##### Node ##### def nodeExists(self, vospacePath): """Checks if a VOSpace node already exists. Returns a boolean.""" with self.getConnection() as conn: try: cursor = conn.cursor(cursor_factory = RealDictCursor) cursor.execute("SELECT * FROM node_vos_path WHERE vos_path = %s;", (vospacePath,)) result = cursor.fetchall() except Exception as e: if not conn.closed: conn.rollback() print(e) if result: return True else: return False def getOSPath(self, vospacePath): """Returns a list containing full path, storage type and username for a VOSpace path.""" with self.getConnection() as conn: Loading Loading @@ -705,6 +721,42 @@ class DbConnector(object): if not conn.closed: conn.rollback() def updateGroupRead(self, groupsToAdd, groupsToRemove, nodeVOSPath): with self.getConnection() as conn: try: cursor = conn.cursor(cursor_factory = RealDictCursor) cursor.execute(""" UPDATE node c SET group_read = update_array(c.group_read, %s::VARCHAR[], %s::VARCHAR[]) FROM node n WHERE c.path <@ n.path AND n.node_id = id_from_vos_path(%s); """, (groupsToAdd, groupsToRemove, nodeVOSPath,)) conn.commit() except Exception as e: if not conn.closed: conn.rollback() def updateGroupWrite(self, groupsToAdd, groupsToRemove, nodeVOSPath): with self.getConnection() as conn: try: cursor = conn.cursor(cursor_factory = RealDictCursor) cursor.execute(""" UPDATE node c SET group_write = update_array(c.group_write, %s::VARCHAR[], %s::VARCHAR[]) FROM node n WHERE c.path <@ n.path AND n.node_id = id_from_vos_path(%s); """, (groupsToAdd, groupsToRemove, nodeVOSPath,)) conn.commit() except Exception as e: if not conn.closed: conn.rollback() ##### Storage ##### def insertStorage(self, storageType, basePath, baseUrl, hostname): Loading