From 74473e69568887ab616447b63e334918453e1521 Mon Sep 17 00:00:00 2001 From: "Barbara B. Frosik" <bfrosik@aps.anl.gov> Date: Fri, 28 Aug 2015 18:59:06 +0000 Subject: [PATCH] change daq service startDaq not to encode the String --- .../dm/daq_web_service/api/experimentRestApi.py | 3 ++- .../service/experimentSessionController.py | 17 +++++++---------- .../impl/experimentSessionControllerImpl.py | 7 ++++--- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/python/dm/daq_web_service/api/experimentRestApi.py b/src/python/dm/daq_web_service/api/experimentRestApi.py index cf5c93fd..13d09556 100755 --- a/src/python/dm/daq_web_service/api/experimentRestApi.py +++ b/src/python/dm/daq_web_service/api/experimentRestApi.py @@ -21,9 +21,10 @@ class ExperimentRestApi(DaqRestApi): raise InvalidRequest('Experiment name must be provided.') if dataDirectory is None or not len(dataDirectory): raise InvalidRequest('Experiment data directory must be provided.') + url += '?dataDirectory=%s' % dataDirectory + url += '&experimentName=%s' % experimentName daqInfo['experimentName'] = experimentName daqInfo['dataDirectory'] = dataDirectory - url += '?daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo))) responseDict = self.sendSessionRequest(url=url, method='POST') return Experiment(responseDict) diff --git a/src/python/dm/daq_web_service/service/experimentSessionController.py b/src/python/dm/daq_web_service/service/experimentSessionController.py index 36d258df..26f6f39b 100755 --- a/src/python/dm/daq_web_service/service/experimentSessionController.py +++ b/src/python/dm/daq_web_service/service/experimentSessionController.py @@ -20,16 +20,13 @@ class ExperimentSessionController(DmSessionController): @DmSessionController.require(DmSessionController.isAdministrator()) @DmSessionController.execute def startDaq(self, **kwargs): - encodedDaqInfo = kwargs.get('daqInfo') - if not encodedDaqInfo: - raise InvalidRequest('Invalid DAQ info provided.') - daqInfo = json.loads(Encoder.decode(encodedDaqInfo)) - - if not daqInfo.has_key('experimentName'): - raise InvalidRequest('Experiment name is missing.') - if not daqInfo.has_key('dataDirectory'): - raise InvalidRequest('Data directory is missing.') - response = self.experimentSessionControllerImpl.startDaq(daqInfo).getFullJsonRep() + experimentName = kwargs.get('experimentName') + if experimentName is None or not len(experimentName): + raise InvalidRequest('Missing experiment name.') + dataDirectory = kwargs.get('dataDirectory') + if dataDirectory is None or not len(dataDirectory): + raise InvalidRequest('Missing experiment name.') + response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory).getFullJsonRep() self.logger.debug('Returning: %s' % response) return response diff --git a/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py b/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py index 8301fe22..99ee8d36 100755 --- a/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py +++ b/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py @@ -23,15 +23,16 @@ class ExperimentSessionControllerImpl(DmObjectManager): DmObjectManager.__init__(self) self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi() - def startDaq(self, daqInfo): - experimentName = daqInfo.get('experimentName') + def startDaq(self, experimentName, dataDirectory): + daqInfo={} + daqInfo['experimentName'] = experimentName + daqInfo['dataDirectory'] = dataDirectory experiment = ExperimentTracker.getInstance().get(experimentName) if experiment is not None: oldDaqInfo = experiment.get('daqInfo') if oldDaqInfo.get('daqEndTime') is None: 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) storageDirectory = experiment.get('storageDirectory') if storageDirectory is None: -- GitLab