added forwarding of unknown arguments of SFAcquisition constructor to the Broker
This commit is contained in:
@@ -298,11 +298,12 @@ class BrokerError(Exception):
|
||||
|
||||
class BrokerConfig:
|
||||
|
||||
def __init__(self, pgroup, rate_multiplicator=1, append_user_tag_to_data_dir=False, client_name=None):
|
||||
def __init__(self, pgroup, rate_multiplicator=1, append_user_tag_to_data_dir=False, client_name=None, **kwargs):
|
||||
self.pgroup = pgroup
|
||||
self.rate_multiplicator = rate_multiplicator #TODO: can we read that from epics?
|
||||
self.append_user_tag_to_data_dir = append_user_tag_to_data_dir
|
||||
self.client_name = client_name
|
||||
self.kwargs_init = kwargs # unknown arguments will be forwarded verbatim to the broker
|
||||
self.set(None) #TODO: sensible defaults?
|
||||
|
||||
def set(self, output_dir, detectors=None, channels=None, pvs=None, scan_info=None, **kwargs):
|
||||
@@ -311,7 +312,7 @@ class BrokerConfig:
|
||||
self.channels = channels
|
||||
self.pvs = pvs
|
||||
self.scan_info = scan_info
|
||||
self.kwargs = kwargs # unknown arguments will be forwarded verbatim to the broker
|
||||
self.kwargs_set = kwargs # unknown arguments will be forwarded verbatim to the broker
|
||||
|
||||
|
||||
def to_dict(self, run_number, start_pulseid, stop_pulseid):
|
||||
@@ -347,11 +348,11 @@ class BrokerConfig:
|
||||
if self.scan_info:
|
||||
config["scan_info"] = self.scan_info
|
||||
|
||||
kwargs = self.kwargs
|
||||
kwargs = {**self.kwargs_init, **self.kwargs_set}
|
||||
if kwargs:
|
||||
header="the following unknown arguments are forwarded verbatim to the server"
|
||||
print(printable_dict(kwargs, header=header))
|
||||
config.update(self.kwargs)
|
||||
config.update(kwargs)
|
||||
|
||||
return config
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ from .detcfg import DetectorConfig
|
||||
|
||||
class SFAcquisition(BaseAcquisition):
|
||||
|
||||
def __init__(self, instrument, pgroup, default_data_base_dir="static_data", default_detectors=None, default_channels=None, default_pvs=None, api_address="http://sf-daq:10002", rate_multiplicator=1, append_user_tag_to_data_dir=False, spreadsheet=None):
|
||||
def __init__(self, instrument, pgroup, default_data_base_dir="static_data", default_detectors=None, default_channels=None, default_pvs=None, api_address="http://sf-daq:10002", rate_multiplicator=1, append_user_tag_to_data_dir=False, spreadsheet=None, **kwargs):
|
||||
self.instrument = instrument
|
||||
self.default_data_base_dir = default_data_base_dir
|
||||
self.spreadsheet = spreadsheet
|
||||
@@ -34,7 +34,7 @@ class SFAcquisition(BaseAcquisition):
|
||||
self.default_channels = default_channels
|
||||
self.default_pvs = default_pvs
|
||||
|
||||
self.client = BrokerClient(pgroup, address=api_address, rate_multiplicator=rate_multiplicator, append_user_tag_to_data_dir=append_user_tag_to_data_dir, client_name="slic")
|
||||
self.client = BrokerClient(pgroup, address=api_address, rate_multiplicator=rate_multiplicator, append_user_tag_to_data_dir=append_user_tag_to_data_dir, client_name="slic", **kwargs)
|
||||
|
||||
self.current_task = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user