Skip to content

Commit b514fd5

Browse files
committed
only make one get_parameter_value call in ros2 param dump
Signed-off-by: Brian Chen <[email protected]>
1 parent efcc246 commit b514fd5

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

ros2param/ros2param/verb/dump.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,17 @@ def add_arguments(self, parser, cli_name): # noqa: D102
5252
help='DEPRECATED: Does nothing.')
5353

5454
@staticmethod
55-
def get_parameter_value(node, node_name, param):
55+
def get_parameter_values(node, node_name, params):
5656
response = call_get_parameters(
5757
node=node, node_name=node_name,
58-
parameter_names=[param])
58+
parameter_names=params)
5959

6060
# requested parameter not set
6161
if not response.values:
6262
return '# Parameter not set'
6363

6464
# extract type specific value
65-
return get_value(parameter_value=response.values[0])
65+
return [get_value(parameter_value=i) for i in response.values]
6666

6767
def insert_dict(self, dictionary, key, value):
6868
split = key.split(PARAMETER_SEPARATOR_STRING, 1)
@@ -93,9 +93,10 @@ def main(self, *, args): # noqa: D102
9393

9494
# retrieve values
9595
response = call_list_parameters(node=node, node_name=absolute_node_name)
96+
response = sorted(response)
97+
parameter_values = self.get_parameter_values(node, absolute_node_name, response)
9698

97-
for param_name in sorted(response):
98-
pval = self.get_parameter_value(node, absolute_node_name, param_name)
99+
for param_name, pval in zip(response, parameter_values):
99100
self.insert_dict(
100101
yaml_output[node_name.full_name]['ros__parameters'], param_name, pval)
101102

0 commit comments

Comments
 (0)