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

new commands related to daq and upload tracking

parent a1f895d8
No related branches found
No related tags found
No related merge requests found
#!/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 $@
#!/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()
...@@ -18,10 +18,10 @@ class GetUploadInfoCli(DaqWebServiceSessionCli): ...@@ -18,10 +18,10 @@ class GetUploadInfoCli(DaqWebServiceSessionCli):
def runCommand(self): def runCommand(self):
self.parseArgs(usage=""" self.parseArgs(usage="""
dm-get-upload-status --id=ID dm-get-upload-info --id=ID
Description: Description:
Retrieves detailed information for a given data upload. Retrieves detailed information for the specified data upload id.
""") """)
self.checkArgs() self.checkArgs()
api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
......
...@@ -35,8 +35,8 @@ Description: ...@@ -35,8 +35,8 @@ Description:
self.checkArgs() self.checkArgs()
api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
daqInfo = self.splitArgsIntoDict() daqInfo = self.splitArgsIntoDict()
experiment = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo) daqInfo = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
####################################################################### #######################################################################
# Run command. # Run command.
......
...@@ -8,25 +8,31 @@ class StopDaqCli(DaqWebServiceSessionCli): ...@@ -8,25 +8,31 @@ class StopDaqCli(DaqWebServiceSessionCli):
def __init__(self): def __init__(self):
DaqWebServiceSessionCli.__init__(self) DaqWebServiceSessionCli.__init__(self)
self.addOption('', '--experiment', dest='experimentName', help='Experiment name.') self.addOption('', '--experiment', dest='experimentName', help='Experiment name.')
self.addOption('', '--data-directory', dest='dataDirectory', help='Experiment data directory.')
def checkArgs(self): def checkArgs(self):
if self.options.experimentName is None: if self.options.experimentName is None:
raise InvalidRequest('Experiment name must be provided.') raise InvalidRequest('Experiment name must be provided.')
if self.options.dataDirectory is None:
raise InvalidRequest('Experiment data directory must be provided.')
def getExperimentName(self): def getExperimentName(self):
return self.options.experimentName return self.options.experimentName
def getDataDirectory(self):
return self.options.dataDirectory
def runCommand(self): def runCommand(self):
self.parseArgs(usage=""" self.parseArgs(usage="""
dm-stop-daq --experiment=EXPERIMENTNAME dm-stop-daq --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY
Description: Description:
Stop DAQ for a given experiment. Stop DAQ for a given experiment and data directory.
""") """)
self.checkArgs() self.checkArgs()
api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
experiment = api.stopDaq(self.getExperimentName()) daqInfo = api.stopDaq(self.getExperimentName(), self.getDataDirectory())
print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
####################################################################### #######################################################################
# Run command. # Run command.
......
...@@ -36,8 +36,8 @@ Description: ...@@ -36,8 +36,8 @@ Description:
self.checkArgs() self.checkArgs()
api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
daqInfo = self.splitArgsIntoDict() daqInfo = self.splitArgsIntoDict()
experiment = api.upload(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo) uploadInfo = api.upload(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) print uploadInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
####################################################################### #######################################################################
# Run command. # Run command.
......
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