Skip to content
Snippets Groups Projects
Commit 4e127fd6 authored by sveseli's avatar sveseli
Browse files

DAQ interfaces changed in order to allow simultaneous daqs for the same experiment

parent ffd7b50b
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,7 @@ from dm.common.utility.encoder import Encoder
from dm.common.exceptions.dmException import DmException
from dm.common.objects.experiment import Experiment
from dm.common.objects.uploadInfo import UploadInfo
from dm.common.objects.daqInfo import DaqInfo
from daqRestApi import DaqRestApi
class ExperimentRestApi(DaqRestApi):
......@@ -17,46 +18,47 @@ class ExperimentRestApi(DaqRestApi):
@DaqRestApi.execute
def startDaq(self, experimentName, dataDirectory, daqInfo={}):
url = '%s/experiments/startDaq' % (self.getContextRoot())
if experimentName is None or not len(experimentName):
if not experimentName:
raise InvalidRequest('Experiment name must be provided.')
if dataDirectory is None or not len(dataDirectory):
if not dataDirectory:
raise InvalidRequest('Experiment data directory must be provided.')
daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
url += '?experimentName=%s' % Encoder.encode(experimentName)
url += '&dataDirectory=%s' % Encoder.encode(dataDirectory)
url += '&daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
url = '%s/experimentsByName/%s/startDaq/%s' % (self.getContextRoot(), Encoder.encode(experimentName), Encoder.encode(dataDirectory))
url += '?daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
responseDict = self.sendSessionRequest(url=url, method='POST')
return Experiment(responseDict)
return DaqInfo(responseDict)
@DaqRestApi.execute
def stopDaq(self, experimentName):
url = '%s/experiments/stopDaq' % (self.getContextRoot())
if experimentName is None or not len(experimentName):
def stopDaq(self, experimentName, dataDirectory):
if not experimentName:
raise InvalidRequest('Experiment name must be provided.')
url += '?experimentName=%s' % Encoder.encode(experimentName)
if not dataDirectory:
raise InvalidRequest('Experiment data directory must be provided.')
url = '%s/experimentsByName/%s/stopDaq/%s' % (self.getContextRoot(), Encoder.encode(experimentName), Encoder.encode(dataDirectory))
responseDict = self.sendSessionRequest(url=url, method='POST')
return Experiment(responseDict)
return DaqInfo(responseDict)
@DaqRestApi.execute
def getDaqInfo(self, id):
if not id:
raise InvalidRequest('Daq id must be provided.')
url = '%s/experimentDaqs/%s' % (self.getContextRoot(),id)
responseDict = self.sendSessionRequest(url=url, method='GET')
return DaqInfo(responseDict)
@DaqRestApi.execute
def upload(self, experimentName, dataDirectory, daqInfo={}):
url = '%s/experiments/upload' % (self.getContextRoot())
if experimentName is None or not len(experimentName):
if not experimentName:
raise InvalidRequest('Experiment name must be provided.')
if dataDirectory is None or not len(dataDirectory):
if not dataDirectory:
raise InvalidRequest('Experiment data directory must be provided.')
daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
url += '?experimentName=%s' % Encoder.encode(experimentName)
url += '&dataDirectory=%s' % Encoder.encode(dataDirectory)
url += '&daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
url = '%s/experimentsByName/%s/upload/%s' % (self.getContextRoot(), Encoder.encode(experimentName), Encoder.encode(dataDirectory))
url += '?daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
responseDict = self.sendSessionRequest(url=url, method='POST')
return UploadInfo(responseDict)
@DaqRestApi.execute
def getUploadInfo(self, id):
url = '%s/experiments/upload/%s' % (self.getContextRoot(),id)
url = '%s/experimentUploads/%s' % (self.getContextRoot(),id)
if not id:
raise InvalidRequest('Upload id must be provided.')
responseDict = self.sendSessionRequest(url=url, method='GET')
......
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