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

allow arbitrary key-value pairs to be passed to daq service and to processing plugins

parent 09b8150a
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,7 @@ from daqWebServiceSessionCli import DaqWebServiceSessionCli ...@@ -6,7 +6,7 @@ from daqWebServiceSessionCli import DaqWebServiceSessionCli
class StartDaqCli(DaqWebServiceSessionCli): class StartDaqCli(DaqWebServiceSessionCli):
def __init__(self): def __init__(self):
DaqWebServiceSessionCli.__init__(self) DaqWebServiceSessionCli.__init__(self, validArgCount=self.ANY_NUMBER_OF_POSITIONAL_ARGS)
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.') self.addOption('', '--data-directory', dest='dataDirectory', help='Experiment data directory.')
...@@ -25,13 +25,17 @@ class StartDaqCli(DaqWebServiceSessionCli): ...@@ -25,13 +25,17 @@ class StartDaqCli(DaqWebServiceSessionCli):
def runCommand(self): def runCommand(self):
self.parseArgs(usage=""" self.parseArgs(usage="""
dm-start-daq --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY dm-start-daq --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY
[key1:value1, key2:value2, ...]
Description: Description:
Starts DAQ for a given experiment. Provided data directory will be monitored for data files. Starts DAQ for a given experiment. Specified data directory will be
monitored for data files. All provided key/value pairs will be passed to
file processing plugins.
""") """)
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.startDaq(self.getExperimentName(), self.getDataDirectory()) daqInfo = self.splitArgsIntoDict()
experiment = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
####################################################################### #######################################################################
......
...@@ -6,7 +6,7 @@ from dm.common.exceptions.invalidRequest import InvalidRequest ...@@ -6,7 +6,7 @@ from dm.common.exceptions.invalidRequest import InvalidRequest
class UploadCli(DaqWebServiceSessionCli): class UploadCli(DaqWebServiceSessionCli):
def __init__(self): def __init__(self):
DaqWebServiceSessionCli.__init__(self) DaqWebServiceSessionCli.__init__(self, validArgCount=self.ANY_NUMBER_OF_POSITIONAL_ARGS)
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.') self.addOption('', '--data-directory', dest='dataDirectory', help='Experiment data directory.')
...@@ -25,9 +25,13 @@ class UploadCli(DaqWebServiceSessionCli): ...@@ -25,9 +25,13 @@ class UploadCli(DaqWebServiceSessionCli):
def runCommand(self): def runCommand(self):
self.parseArgs(usage=""" self.parseArgs(usage="""
dm-upload --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY dm-upload --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY
[key1:value1, key2:value2, ...]
Description: Description:
Schedules data upload for a given experiment. Schedules data upload for a given experiment. All existing files in the
specified directory will be uploaded to storage. Relative directory
structure will be preserved. All provided key/value pairs will be passed
to file processing plugins.
""") """)
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())
......
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