diff --git a/bin/dm-get-daq-info b/bin/dm-get-daq-info new file mode 100755 index 0000000000000000000000000000000000000000..322caa3b7fbf2a735f91cc95dc30952192a1b808 --- /dev/null +++ b/bin/dm-get-daq-info @@ -0,0 +1,17 @@ +#!/bin/sh + +# Run command + +if [ -z $DM_ROOT_DIR ]; then + cd `dirname $0` && myDir=`pwd` + setupFile=$myDir/../setup.sh + if [ ! -f $setupFile ]; then + echo "Cannot find setup file: $setupFile" + exit 1 + fi + source $setupFile > /dev/null +fi + +$DM_ROOT_DIR/src/python/dm/daq_web_service/cli/getDaqInfoCli.py $@ + + diff --git a/src/python/dm/daq_web_service/cli/getDaqInfoCli.py b/src/python/dm/daq_web_service/cli/getDaqInfoCli.py new file mode 100755 index 0000000000000000000000000000000000000000..4361c6d2d1b14bea25400fb7baf9b318dfdbb119 --- /dev/null +++ b/src/python/dm/daq_web_service/cli/getDaqInfoCli.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python + +from daqWebServiceSessionCli import DaqWebServiceSessionCli +from dm.daq_web_service.api.experimentRestApi import ExperimentRestApi +from dm.common.exceptions.invalidRequest import InvalidRequest + +class GetDaqInfoCli(DaqWebServiceSessionCli): + def __init__(self): + DaqWebServiceSessionCli.__init__(self, validArgCount=self.ANY_NUMBER_OF_POSITIONAL_ARGS) + self.addOption('', '--id', dest='id', help='Daq id.') + + def checkArgs(self): + if self.options.id is None: + raise InvalidRequest('Daq id must be provided.') + + def getId(self): + return self.options.id + + def runCommand(self): + self.parseArgs(usage=""" + dm-get-daq-info --id=ID + +Description: + Retrieves detailed information for the specified data acquisition. + """) + self.checkArgs() + api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) + daqInfo = api.getDaqInfo(self.getId()) + print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + +####################################################################### +# Run command. +if __name__ == '__main__': + cli = GetDaqInfoCli() + cli.run() + diff --git a/src/python/dm/daq_web_service/cli/getUploadInfoCli.py b/src/python/dm/daq_web_service/cli/getUploadInfoCli.py index 6900caba25560303af3b506872013817d74cec57..ca3a4a294e973cea9c1d26faac19d84c6638093d 100755 --- a/src/python/dm/daq_web_service/cli/getUploadInfoCli.py +++ b/src/python/dm/daq_web_service/cli/getUploadInfoCli.py @@ -18,10 +18,10 @@ class GetUploadInfoCli(DaqWebServiceSessionCli): def runCommand(self): self.parseArgs(usage=""" - dm-get-upload-status --id=ID + dm-get-upload-info --id=ID Description: - Retrieves detailed information for a given data upload. + Retrieves detailed information for the specified data upload id. """) self.checkArgs() api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) diff --git a/src/python/dm/daq_web_service/cli/startDaqCli.py b/src/python/dm/daq_web_service/cli/startDaqCli.py index a88cca0f4f2ccba7c4d22e7dd17bdc4ca86a4808..aac21b57b5bf0eb80271612c4e44d732bd783650 100755 --- a/src/python/dm/daq_web_service/cli/startDaqCli.py +++ b/src/python/dm/daq_web_service/cli/startDaqCli.py @@ -35,8 +35,8 @@ Description: self.checkArgs() api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) daqInfo = self.splitArgsIntoDict() - experiment = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo) - print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + daqInfo = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo) + print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) ####################################################################### # Run command. diff --git a/src/python/dm/daq_web_service/cli/stopDaqCli.py b/src/python/dm/daq_web_service/cli/stopDaqCli.py index 892b2d78789d7897a2be779dd2b95ef2cad5a75f..6310a316fb070652d474ae98ea29e3f4417fc630 100755 --- a/src/python/dm/daq_web_service/cli/stopDaqCli.py +++ b/src/python/dm/daq_web_service/cli/stopDaqCli.py @@ -8,25 +8,31 @@ class StopDaqCli(DaqWebServiceSessionCli): def __init__(self): DaqWebServiceSessionCli.__init__(self) self.addOption('', '--experiment', dest='experimentName', help='Experiment name.') + self.addOption('', '--data-directory', dest='dataDirectory', help='Experiment data directory.') def checkArgs(self): if self.options.experimentName is None: raise InvalidRequest('Experiment name must be provided.') + if self.options.dataDirectory is None: + raise InvalidRequest('Experiment data directory must be provided.') def getExperimentName(self): return self.options.experimentName + def getDataDirectory(self): + return self.options.dataDirectory + def runCommand(self): self.parseArgs(usage=""" - dm-stop-daq --experiment=EXPERIMENTNAME + dm-stop-daq --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY Description: - Stop DAQ for a given experiment. + Stop DAQ for a given experiment and data directory. """) self.checkArgs() api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) - experiment = api.stopDaq(self.getExperimentName()) - print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + daqInfo = api.stopDaq(self.getExperimentName(), self.getDataDirectory()) + print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) ####################################################################### # Run command. diff --git a/src/python/dm/daq_web_service/cli/uploadCli.py b/src/python/dm/daq_web_service/cli/uploadCli.py index dca194506c5ab77f14b4bbb71cb4961fe19ae1b5..0b62bb03c14730f8dcd42b8ae28bb1ee686f5958 100755 --- a/src/python/dm/daq_web_service/cli/uploadCli.py +++ b/src/python/dm/daq_web_service/cli/uploadCli.py @@ -36,8 +36,8 @@ Description: self.checkArgs() api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) daqInfo = self.splitArgsIntoDict() - experiment = api.upload(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo) - print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) + uploadInfo = api.upload(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo) + print uploadInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) ####################################################################### # Run command.