TestCscCommander¶
-
class
lsst.ts.salobj.
TestCscCommander
(index, enable=False, exclude=None, fields_to_ignore=('ignored', 'value', 'priority'))¶ Bases:
lsst.ts.salobj.CscCommander
Control a Test CSC from the command line.
- Parameters
Methods Summary
add_arguments
(parser)Add arguments to the parser created by
make_from_cmd_line
.add_kwargs_from_args
(args, kwargs)Add constructor keyword arguments based on parsed arguments.
amain
(*, index, **kwargs)Construct the commander and run it.
check_arguments
(args, *names)Check that the required arguments are provided, and return them as a keyword argument dict with cast values.
close
()Close the commander, prior to quitting.
do_setArrays
(args)do_start
(args)Allow the start command to have no arguments.
event_callback
(data, name)Generic callback for events.
field_is_public
(name)Return True if the specified field name is public, False otherwise.
format_data
(data)Format the public fields of an event or telemetry sample, for printing.
format_dict
(data)Format a dict for printing.
format_item
(key, value)Format one event or telemetry field for printing.
Get help for each command, as a list of strings.
get_public_data
(data)Get a dict of field_name: value for public fields of a DDS sample.
get_rounded_public_data
(data[, digits])Get a dict of field_name: value for public fields of a DDS sample with float values rounded.
get_rounded_public_fields
(data[, digits])Deprecated version of get_rounded_public_data.
make_from_cmd_line
(index, **kwargs)Construct a SAL-related class from command line arguments.
output
(str)Print a string to output, appending a final newline.
Print help.
run_command
(cmd)Run the specified command string and wait for it to finish.
run_command_topic
(command_name, args)Run a command that has an associated salobj RemoteCommand topic.
start
()Start asynchonous processes.
telemetry_callback
(data, name[, digits])Generic callback for telemetry.
Methods Documentation
-
classmethod
add_arguments
(parser)¶ Add arguments to the parser created by
make_from_cmd_line
.- Parameters
- parser
argparse.ArgumentParser
The argument parser.
- parser
Notes
If you override this method then you should almost certainly override
add_kwargs_from_args
as well.
-
classmethod
add_kwargs_from_args
(args, kwargs)¶ Add constructor keyword arguments based on parsed arguments.
- Parameters
- args
argparse.namespace
Parsed command.
- kwargs
dict
Keyword argument dict for the constructor. Update this based on
args
. The index argument will already be present if relevant.
- args
Notes
If you override this method then you should almost certainly override
add_arguments
as well.
-
async classmethod
amain
(*, index, **kwargs)¶ Construct the commander and run it.
Parse the command line to construct the commander, then parse and execute commands until the
exit
is seen.- Parameters
- index
int
,enum.IntEnum
,True
, orNone
If the CSC is indexed, do one of the following:
Specify
True
to makeindex
a required command-line argument that accepts any nonzero index.Specify an
enum.IntEnum
class to makeindex
a required command-line argument that only accepts the enum values.Specify a non-zero integer to use that index. This is rare; if the CSC is indexed then the user should usually be allowed to specify the index.
If the CSC is not indexed, specify
None
or 0.- **kwargs
dict
, optional Additional keyword arguments for your CSC’s constructor.
- index
-
check_arguments
(args, *names)¶ Check that the required arguments are provided, and return them as a keyword argument dict with cast values.
- Parameters
-
async
close
()¶ Close the commander, prior to quitting.
-
async
do_setArrays
(args)¶
-
async
do_start
(args)¶ Allow the start command to have no arguments.
-
event_callback
(data, name)¶ Generic callback for events.
You may provide evt_<event_name> methods to override printing of specific events.
-
evt_summaryState_callback
(data)¶
-
field_is_public
(name)¶ Return True if the specified field name is public, False otherwise.
-
format_data
(data)¶ Format the public fields of an event or telemetry sample, for printing.
-
format_dict
(data)¶ Format a dict for printing.
Unlike format_data, this requires a dict and formats all fields.
-
format_item
(key, value)¶ Format one event or telemetry field for printing.
-
get_commands_help
()¶ Get help for each command, as a list of strings.
End with “Other Commands:” and any commands in help_dict that are not in command_dict.
-
get_public_data
(data)¶ Get a dict of field_name: value for public fields of a DDS sample.
- Parameters
- data
dds_sample
DDS sample.
- data
-
get_rounded_public_data
(data, digits=2)¶ Get a dict of field_name: value for public fields of a DDS sample with float values rounded.
-
get_rounded_public_fields
(data, digits=2)¶ Deprecated version of get_rounded_public_data.
-
classmethod
make_from_cmd_line
(index, **kwargs)¶ Construct a SAL-related class from command line arguments.
- Parameters
- index
int
,enum.IntEnum
,True
, orNone
If the CSC is indexed, do one of the following:
Specify
True
to makeindex
a required command-line argument that accepts any nonzero index.Specify an
enum.IntEnum
class to makeindex
a required command-line argument that only accepts the enum values.Specify a non-zero integer to use that index. This is rare; if the CSC is indexed then the user should usually be allowed to specify the index.
If the CSC is not indexed, specify
None
or 0.- **kwargs
dict
, optional Additional keyword arguments for your class’s constructor.
- index
- Returns
- instance
cls
The constructed instance.
- instance
Notes
To add additional command-line arguments, override
add_arguments
andadd_kwargs_from_args
.
-
output
(str)¶ Print a string to output, appending a final newline.
Please call this instead of print to support unit tests.
If
self.testing
is True then appendstr
toself.output_queue
instead of printing it. Use this mode for unit testing a CSC commander.
-
print_help
()¶ Print help.
-
async
run_command
(cmd)¶ Run the specified command string and wait for it to finish.
- Parameters
- cmd
str
Command string (command name and arguments). Note: does not handle the “exit” command.
- cmd
-
async
run_command_topic
(command_name, args)¶ Run a command that has an associated salobj RemoteCommand topic.
- Parameters
Notes
This method works for command topics that take scalar arguments. To support command topics with more exotic arguments you must provide a do_<command> method that parses the arguments and add an entry to self.help_dict.
-
async
start
()¶ Start asynchonous processes.
-
telemetry_callback
(data, name, digits=2)¶ Generic callback for telemetry.
You may provide tel_<telemetry_name> methods to override printing of specific telemetry topics.