Skip to content

Commit 2d3b021

Browse files
authored
Validate complex attributes of 'node' action (#198)
Signed-off-by: Ivan Santiago Paunovic <[email protected]>
1 parent df53b58 commit 2d3b021

File tree

1 file changed

+4
-0
lines changed
  • launch_ros/launch_ros/actions

1 file changed

+4
-0
lines changed

launch_ros/launch_ros/actions/node.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ def get_nested_dictionary_from_nested_key_value_pairs(params):
192192
data_type = get_data_type_from_identifier(type_identifier)
193193
value = param.get_attr('value', data_type=data_type, optional=True)
194194
nested_params = param.get_attr('param', data_type=List[Entity], optional=True)
195+
param.assert_entity_completely_parsed()
195196
if value is not None and nested_params:
196197
raise RuntimeError(
197198
'nested parameters and value attributes are mutually exclusive')
@@ -224,6 +225,7 @@ def get_nested_dictionary_from_nested_key_value_pairs(params):
224225
allow_substs = parser.parse_substitution(allow_substs)
225226
else:
226227
allow_substs = bool(allow_substs)
228+
param.assert_entity_completely_parsed()
227229
normalized_params.append(
228230
ParameterFile(parser.parse_substitution(from_attr), allow_substs=allow_substs))
229231
continue
@@ -269,6 +271,8 @@ def parse(cls, entity: Entity, parser: Parser):
269271
parser.parse_substitution(remap.get_attr('to'))
270272
) for remap in remappings
271273
]
274+
for remap in remappings:
275+
remap.assert_entity_completely_parsed()
272276
parameters = entity.get_attr('param', data_type=List[Entity], optional=True)
273277
if parameters is not None:
274278
kwargs['parameters'] = cls.parse_nested_parameters(parameters, parser)

0 commit comments

Comments
 (0)