Skip to content
Snippets Groups Projects
Commit 74473e69 authored by Barbara B. Frosik's avatar Barbara B. Frosik
Browse files

change daq service startDaq not to encode the String

parent 5e8ccaee
No related branches found
No related tags found
No related merge requests found
...@@ -21,9 +21,10 @@ class ExperimentRestApi(DaqRestApi): ...@@ -21,9 +21,10 @@ class ExperimentRestApi(DaqRestApi):
raise InvalidRequest('Experiment name must be provided.') raise InvalidRequest('Experiment name must be provided.')
if dataDirectory is None or not len(dataDirectory): if dataDirectory is None or not len(dataDirectory):
raise InvalidRequest('Experiment data directory must be provided.') raise InvalidRequest('Experiment data directory must be provided.')
url += '?dataDirectory=%s' % dataDirectory
url += '&experimentName=%s' % experimentName
daqInfo['experimentName'] = experimentName daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory daqInfo['dataDirectory'] = dataDirectory
url += '?daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
responseDict = self.sendSessionRequest(url=url, method='POST') responseDict = self.sendSessionRequest(url=url, method='POST')
return Experiment(responseDict) return Experiment(responseDict)
......
...@@ -20,16 +20,13 @@ class ExperimentSessionController(DmSessionController): ...@@ -20,16 +20,13 @@ class ExperimentSessionController(DmSessionController):
@DmSessionController.require(DmSessionController.isAdministrator()) @DmSessionController.require(DmSessionController.isAdministrator())
@DmSessionController.execute @DmSessionController.execute
def startDaq(self, **kwargs): def startDaq(self, **kwargs):
encodedDaqInfo = kwargs.get('daqInfo') experimentName = kwargs.get('experimentName')
if not encodedDaqInfo: if experimentName is None or not len(experimentName):
raise InvalidRequest('Invalid DAQ info provided.') raise InvalidRequest('Missing experiment name.')
daqInfo = json.loads(Encoder.decode(encodedDaqInfo)) dataDirectory = kwargs.get('dataDirectory')
if dataDirectory is None or not len(dataDirectory):
if not daqInfo.has_key('experimentName'): raise InvalidRequest('Missing experiment name.')
raise InvalidRequest('Experiment name is missing.') response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory).getFullJsonRep()
if not daqInfo.has_key('dataDirectory'):
raise InvalidRequest('Data directory is missing.')
response = self.experimentSessionControllerImpl.startDaq(daqInfo).getFullJsonRep()
self.logger.debug('Returning: %s' % response) self.logger.debug('Returning: %s' % response)
return response return response
......
...@@ -23,15 +23,16 @@ class ExperimentSessionControllerImpl(DmObjectManager): ...@@ -23,15 +23,16 @@ class ExperimentSessionControllerImpl(DmObjectManager):
DmObjectManager.__init__(self) DmObjectManager.__init__(self)
self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi() self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi()
def startDaq(self, daqInfo): def startDaq(self, experimentName, dataDirectory):
experimentName = daqInfo.get('experimentName') daqInfo={}
daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
experiment = ExperimentTracker.getInstance().get(experimentName) experiment = ExperimentTracker.getInstance().get(experimentName)
if experiment is not None: if experiment is not None:
oldDaqInfo = experiment.get('daqInfo') oldDaqInfo = experiment.get('daqInfo')
if oldDaqInfo.get('daqEndTime') is None: if oldDaqInfo.get('daqEndTime') is None:
raise InvalidRequest('DAQ for experiment %s is already active in directory %s.' % (experimentName,oldDaqInfo.get('dataDirectory'))) raise InvalidRequest('DAQ for experiment %s is already active in directory %s.' % (experimentName,oldDaqInfo.get('dataDirectory')))
dataDirectory = daqInfo.get('dataDirectory')
experiment = self.dsExperimentApi.getExperimentByName(experimentName) experiment = self.dsExperimentApi.getExperimentByName(experimentName)
storageDirectory = experiment.get('storageDirectory') storageDirectory = experiment.get('storageDirectory')
if storageDirectory is None: if storageDirectory is None:
......
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