Skip to content

Commit 775ea35

Browse files
authored
NodeStrategy supports node name argument. (#941)
* NodeStrategy supports node name argument. Signed-off-by: Tomoya Fujita <[email protected]> * default node name should be None. Signed-off-by: Tomoya Fujita <[email protected]> * adjust help message for ros2 echo node name option. Signed-off-by: Tomoya Fujita <[email protected]> --------- Signed-off-by: Tomoya Fujita <[email protected]>
1 parent fce8ae7 commit 775ea35

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

ros2cli/ros2cli/node/strategy.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,21 @@
2222

2323
class NodeStrategy:
2424

25-
def __init__(self, args):
25+
def __init__(self, args, *, node_name=None):
2626
use_daemon = not getattr(args, 'no_daemon', False)
2727
if use_daemon and is_daemon_running(args):
2828
self._daemon_node = DaemonNode(args)
2929
self._direct_node = None
3030
if not self._daemon_node.connected:
31-
self._direct_node = DirectNode(args)
31+
self._direct_node = DirectNode(args, node_name=node_name)
3232
self._daemon_node = None
3333
else:
3434
if use_daemon:
3535
spawn_daemon(args)
36-
self._direct_node = DirectNode(args)
36+
self._direct_node = DirectNode(args, node_name=node_name)
3737
self._daemon_node = None
3838
self._args = args
39+
self._node_name = node_name
3940
self._in_scope = False
4041

4142
@property
@@ -45,7 +46,7 @@ def daemon_node(self):
4546
@property
4647
def direct_node(self):
4748
if self._direct_node is None:
48-
self._direct_node = DirectNode(self._args)
49+
self._direct_node = DirectNode(self._args, node_name=self._node_name)
4950
if self._in_scope:
5051
self._direct_node.__enter__()
5152
return self._direct_node

ros2topic/ros2topic/verb/echo.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ def add_arguments(self, parser, cli_name):
110110
parser.add_argument(
111111
'--clear', '-c', action='store_true',
112112
help='Clear screen before printing next message')
113+
parser.add_argument(
114+
'-n', '--node-name', type=str, default=None,
115+
help='The name of the echoing node; by default, will be a hidden node name')
113116

114117
def choose_qos(self, node, args):
115118

@@ -200,7 +203,7 @@ def main(self, *, args):
200203

201204
self.include_message_info = args.include_message_info
202205

203-
with NodeStrategy(args) as node:
206+
with NodeStrategy(args, node_name=args.node_name) as node:
204207

205208
qos_profile = self.choose_qos(node, args)
206209

0 commit comments

Comments
 (0)