diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/services/publication-api/publication-api.py b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/services/publication-api/publication-api.py index 0ec4cd80f9645a1e8142849e708b846d16d74d44..7a0b3713a115c7fc64a9a165eb7c2cf662321328 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/services/publication-api/publication-api.py +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/services/publication-api/publication-api.py @@ -4,7 +4,9 @@ from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset import DataSetKind from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create import DataSetCreation from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions import DataSetFetchOptions from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id import DataSetPermId +from ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.fetchoptions import DataStoreFetchOptions from ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.id import DataStorePermId +from ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.search import DataStoreSearchCriteria from ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype import EntityKind from ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id import EntityTypePermId from ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id import ExperimentIdentifier @@ -63,7 +65,7 @@ def createDataSet(parameters, sessionToken, v3, sampleId): dataSetIds = v3.getDataSets(sessionToken, identifiers, DataSetFetchOptions()).keys() operationLog.debug('Found %d data sets.' % len(dataSetIds)) - dataStoreCode = parameters.get('dataStoreCode') + dataStoreCode = getDefaultDataStoreCode(v3, sessionToken) dataSetCreation = DataSetCreation() dataSetCreation.setAutoGeneratedCode(True) @@ -75,6 +77,11 @@ def createDataSet(parameters, sessionToken, v3, sampleId): v3.createDataSets(sessionToken, [dataSetCreation]) +def getDefaultDataStoreCode(v3, sessionToken): + searchResult = v3.searchDataStores(sessionToken, DataStoreSearchCriteria(), DataStoreFetchOptions()) + return searchResult.objects.get(0).code + + def createPublicationSample(parameters, sessionToken, v3): publicationOrganization = parameters.get('publicationOrganization') publicationType = parameters.get('publicationType') # The only valid value for now is "Public Repository"