@@ -91,7 +91,7 @@ def get_launch_arguments(self, conditional_inclusion=False) -> List[DeclareLaunc
9191 ]
9292
9393 def get_launch_arguments_with_include_launch_description_actions (
94- self , conditional_inclusion = False
94+ self , conditional_inclusion = False , only_search_local = False
9595 ) -> List [Tuple [DeclareLaunchArgument , List ['IncludeLaunchDescription' ]]]:
9696 """
9797 Return a list of launch arguments with its associated include launch descriptions actions.
@@ -128,7 +128,8 @@ def get_launch_arguments_with_include_launch_description_actions(
128128 Tuple [DeclareLaunchArgument , List [IncludeLaunchDescription ]]] = []
129129 from .actions import ResetLaunchConfigurations
130130
131- def process_entities (entities , * , _conditional_inclusion , nested_ild_actions = None ):
131+ def process_entities (entities , * , _conditional_inclusion , nested_ild_actions = None ,
132+ only_search_local = False ):
132133 for entity in entities :
133134 if isinstance (entity , DeclareLaunchArgument ):
134135 # Avoid duplicate entries with the same name.
@@ -139,6 +140,9 @@ def process_entities(entities, *, _conditional_inclusion, nested_ild_actions=Non
139140 entity ._conditionally_included = _conditional_inclusion
140141 entity ._conditionally_included |= entity .condition is not None
141142 declared_launch_arguments .append ((entity , nested_ild_actions ))
143+ if only_search_local :
144+ if isinstance (entity , IncludeLaunchDescription ):
145+ continue
142146 if isinstance (entity , ResetLaunchConfigurations ):
143147 # Launch arguments after this cannot be set directly by top level arguments
144148 return
@@ -151,14 +155,17 @@ def process_entities(entities, *, _conditional_inclusion, nested_ild_actions=Non
151155 process_entities (
152156 entity .describe_sub_entities (),
153157 _conditional_inclusion = False ,
154- nested_ild_actions = next_nested_ild_actions )
158+ nested_ild_actions = next_nested_ild_actions ,
159+ only_search_local = only_search_local )
155160 for conditional_sub_entity in entity .describe_conditional_sub_entities ():
156161 process_entities (
157162 conditional_sub_entity [1 ],
158163 _conditional_inclusion = True ,
159- nested_ild_actions = next_nested_ild_actions )
164+ nested_ild_actions = next_nested_ild_actions ,
165+ only_search_local = only_search_local )
160166
161- process_entities (self .entities , _conditional_inclusion = conditional_inclusion )
167+ process_entities (self .entities , _conditional_inclusion = conditional_inclusion ,
168+ only_search_local = only_search_local )
162169
163170 return declared_launch_arguments
164171
0 commit comments