def _build_cmd_dict(self): """ Build a command dictionary structure, load the strings for the metadata from a file if present. """ self._cmd_dict = ProtocolCommandDict() self._cmd_dict.add(PARCapability.ACQUIRE_SAMPLE, display_name='Acquire Sample') self._cmd_dict.add(PARCapability.ACQUIRE_STATUS, display_name='Acquire Status') self._cmd_dict.add(PARCapability.START_AUTOSAMPLE, display_name='Start Autosample') self._cmd_dict.add(PARCapability.STOP_AUTOSAMPLE, display_name='Stop Autosample') self._cmd_dict.add(PARCapability.DISCOVER, display_name='Discover')
def __init__(self, config, memento, data_callback, state_callback, event_callback, exception_callback): self._config = copy.deepcopy(config) self._data_callback = data_callback self._state_callback = state_callback self._event_callback = event_callback self._exception_callback = exception_callback self._memento = memento self._publisher_thread = None self._verify_config() # Updated my set_resource, defaults defined in build_param_dict self._polling_interval = None self._generate_particle_count = None self._particle_count_per_second = None self._resource_id = None self._param_dict = ProtocolParameterDict() self._cmd_dict = ProtocolCommandDict() self._driver_dict = DriverDict() self._build_command_dict() self._build_driver_dict() self._build_param_dict()
def setUp(self): #self.param_dict = None self.cmd_dict = ProtocolCommandDict() self.cmd_dict.add("cmd1", timeout=60, display_name="Command 1", description="Execute a foo on the instrument", return_type="bool", return_units="Success", return_description="Success (true) or failure (false)", arguments=[CommandArgument( name="coeff", required=True, display_name="coefficient", description="The coefficient to use for calculation", type=CommandDictType.FLOAT, value_description="Should be between 1.97 and 2.34" ), CommandArgument( name="delay", required=False, display_name="delay time", description="The delay time to wait before executing", type=CommandDictType.FLOAT, units="seconds", value_description="Should be between 1.0 and 3.3 in increments of 0.1" ) ] ) # different way of creating things, possibly more clear in some cases # and allows for testing arg and command later self.cmd2_arg1 = CommandArgument(name="trigger", required=True, display_name="sensor trigger", description="The trigger value to use for calculation", type=CommandDictType.INT, value_description="Should be between 1 and 20" ) self.cmd2 = Command("cmd2", display_name="Command 2", description="The second test command", return_type=CommandDictType.INT, return_units="counts", return_description="The number of items encountered during the run.", arguments=[self.cmd2_arg1]) self.cmd_dict.add_command(self.cmd2) self.param_dict = self.cmd_dict # link for ease of parent class operation self.target_arg_schema = """{ "description": "The trigger value to use for calculation", "display_name": "sensor trigger", "required": true, "value": { "description": "Should be between 1 and 20", "type": "int" } }""" self.target_cmd_schema = """{ "arguments": { "trigger": { "description": "The trigger value to use for calculation", "display_name": "sensor trigger", "required": true, "value": { "description": "Should be between 1 and 20", "type": "int" } } }, "description": "The second test command", "display_name": "Command 2", "return": { "description": "The number of items encountered during the run.", "type": "int", "units": "counts" }, "timeout": 10 }""" self.target_schema = """{ "cmd1": { "arguments": { "coeff": { "description": "The coefficient to use for calculation", "display_name": "coefficient", "required": true, "value": { "description": "Should be between 1.97 and 2.34", "type": "float" } }, "delay": { "description": "The delay time to wait before executing", "display_name": "delay time", "required": false, "value": { "description": "Should be between 1.0 and 3.3 in increments of 0.1", "type": "float", "units": "seconds" } } }, "description": "Execute a foo on the instrument", "display_name": "Command 1", "return": { "description": "Success (true) or failure (false)", "type": "bool", "units": "Success" }, "timeout": 60 }, "cmd2": { "arguments": { "trigger": { "description": "The trigger value to use for calculation", "display_name": "sensor trigger", "required": true, "value": { "description": "Should be between 1 and 20", "type": "int" } } }, "description": "The second test command", "display_name": "Command 2", "return": { "description": "The number of items encountered during the run.", "type": "int", "units": "counts" }, "timeout": 10 } }""" self.test_yaml = '''
def test_empty_schema(self): self.cmd_dict = ProtocolCommandDict() result = self.cmd_dict.generate_dict() self.assertEqual(result, {})
def _build_command_dict(self): """ Populate the command dictionary with command. """ self._cmd_dict = ProtocolCommandDict()
def _build_cmd_dict(self): """ Populate the command dictionary with NOAA IRIS Driver metadata information. Currently IRIS only supports DATA_ON and DATA_OFF. """ self._cmd_dict = ProtocolCommandDict()
def _build_cmd_dict(self): """ Populate the command dictionary with NOAA HEAT Driver metadata information. Currently HEAT only supports HEAT_ON and HEAT_OFF. """ self._cmd_dict = ProtocolCommandDict()