def registerDBArray(self, guid, reference_set_id, workspace_id, name):
"""
Registers a DBArray.
An array is unique named folder in a unique workspace path and a given reference id.
"""
# array is a unique set of workspace, array, and reference set
# association
dbarray = self.session.query(DBArray) .filter(
and_(DBArray.reference_set_id == reference_set_id,\
DBArray.workspace_id == workspace_id,\
DBArray.name == name))\
.first()
if dbarray is None:
try:
dbarray = DBArray(
guid=guid,
reference_set_id=reference_set_id,
workspace_id=workspace_id,
name=name
)
self.session.add(dbarray)
self.session.commit()
except exc.DataError as e:
self.session.rollback()
raise ValueError("{0} : {1} ".format(str(e), guid))
return dbarray
评论列表
文章目录