Skip to content
Snippets Groups Projects
Commit 5a2195d9 authored by felmer's avatar felmer
Browse files

SSDM-12929: refactor code duplication in the plugins by introducing function...

SSDM-12929: refactor code duplication in the plugins by introducing function getDataSetsOfSampleAndItsChildren() in the main script
parent 482f26c0
No related branches found
No related tags found
1 merge request!40SSDM-13578 : 2PT : Database and V3 Implementation - include the new AFS "free"...
from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.search import DataSetSearchCriteria
from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions import DataSetFetchOptions
import script
def addSampleChildNodes(path, samplePermId, sampleType, response, acceptor, context):
dataSetSearchCriteria = DataSetSearchCriteria()
dataSetSearchCriteria.withOrOperator()
dataSetSearchCriteria.withSample().withPermId().thatEquals(samplePermId)
parentsSearchCriteria = dataSetSearchCriteria.withSample().withParents()
parentsSearchCriteria.withPermId().thatEquals(samplePermId)
fetchOptions = DataSetFetchOptions()
fetchOptions.withType()
fetchOptions.withProperties()
fetchOptions.withSample()
dataSets = context.getApi().searchDataSets(context.getSessionToken(), dataSetSearchCriteria, fetchOptions).getObjects()
dataSets = script.getDataSetsOfSampleAndItsChildren(samplePermId, context)
for dataSet in dataSets:
if acceptor.acceptDataSet(dataSet):
dataSetCode = dataSet.getCode()
......@@ -22,16 +10,7 @@ def addSampleChildNodes(path, samplePermId, sampleType, response, acceptor, cont
script.addDataSetFileNodes(path, dataSetCode, contentNode, response, acceptor, context)
def addSampleChildNodesWithPlates(path, samplePermId, sampleType, response, acceptor, context):
dataSetSearchCriteria = DataSetSearchCriteria()
dataSetSearchCriteria.withOrOperator()
dataSetSearchCriteria.withSample().withPermId().thatEquals(samplePermId)
parentsSearchCriteria = dataSetSearchCriteria.withSample().withParents()
parentsSearchCriteria.withPermId().thatEquals(samplePermId)
fetchOptions = DataSetFetchOptions()
fetchOptions.withType()
fetchOptions.withProperties()
fetchOptions.withSample().withType()
dataSets = context.getApi().searchDataSets(context.getSessionToken(), dataSetSearchCriteria, fetchOptions).getObjects()
dataSets = script.getDataSetsOfSampleAndItsChildren(samplePermId, context)
for dataSet in dataSets:
sampleTypeCode = dataSet.getSample().getType().getCode()
if not sampleTypeCode.endswith("_WELL"):
......
from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.search import DataSetSearchCriteria
from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions import DataSetFetchOptions
import script
acceptor.hideDataSetType("MICROSCOPY_IMG_CONTAINER")
......@@ -9,16 +6,7 @@ acceptor.hideDataSetType("MICROSCOPY_IMG_THUMBNAIL")
#acceptor.hideSampleType("MICROSCOPY_SAMPLE_TYPE")
def addSampleChildNodes(path, samplePermId, sampleType, response, acceptor, context):
dataSetSearchCriteria = DataSetSearchCriteria()
dataSetSearchCriteria.withOrOperator()
dataSetSearchCriteria.withSample().withPermId().thatEquals(samplePermId)
parentsSearchCriteria = dataSetSearchCriteria.withSample().withParents()
parentsSearchCriteria.withPermId().thatEquals(samplePermId)
fetchOptions = DataSetFetchOptions()
fetchOptions.withType()
fetchOptions.withProperties()
fetchOptions.withSample()
dataSets = context.getApi().searchDataSets(context.getSessionToken(), dataSetSearchCriteria, fetchOptions).getObjects()
dataSets = script.getDataSetsOfSampleAndItsChildren(samplePermId, context)
for dataSet in dataSets:
if acceptor.acceptDataSet(dataSet):
dataSetCode = dataSet.getCode()
......
......@@ -359,6 +359,18 @@ def getContentNode(permId, context):
contentNode = content.tryGetNode(splittedId[1]) if len(splittedId) > 1 else content.getRootNode()
return dataSetCode, contentNode, content
def getDataSetsOfSampleAndItsChildren(samplePermId, context):
dataSetSearchCriteria = DataSetSearchCriteria()
dataSetSearchCriteria.withOrOperator()
dataSetSearchCriteria.withSample().withPermId().thatEquals(samplePermId)
parentsSearchCriteria = dataSetSearchCriteria.withSample().withParents()
parentsSearchCriteria.withPermId().thatEquals(samplePermId)
fetchOptions = DataSetFetchOptions()
fetchOptions.withType()
fetchOptions.withProperties()
fetchOptions.withSample().withType()
return context.getApi().searchDataSets(context.getSessionToken(), dataSetSearchCriteria, fetchOptions).getObjects()
def listDataSets(path, dataSetSearchCriteria, assignedToSample, response, acceptor, context):
fetchOptions = DataSetFetchOptions()
fetchOptions.withType()
......
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