diff --git a/ros2cli/ros2cli/node/__init__.py b/ros2cli/ros2cli/node/__init__.py index e69de29bb..6a415f31f 100644 --- a/ros2cli/ros2cli/node/__init__.py +++ b/ros2cli/ros2cli/node/__init__.py @@ -0,0 +1,16 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# TODO(mikaelarguedas) revisit this once it's specified +HIDDEN_NODE_PREFIX = '_' +CLI_NODE_NAME_PREFIX = HIDDEN_NODE_PREFIX + 'ros2cli' diff --git a/ros2cli/ros2cli/node/direct.py b/ros2cli/ros2cli/node/direct.py index 6040da62c..9702782af 100644 --- a/ros2cli/ros2cli/node/direct.py +++ b/ros2cli/ros2cli/node/direct.py @@ -16,9 +16,7 @@ import rclpy -# TODO(mikaelarguedas) revisit this once it's specified -HIDDEN_NODE_PREFIX = '_' - +from ros2cli.node import CLI_NODE_NAME_PREFIX DEFAULT_TIMEOUT = 0.5 @@ -35,7 +33,7 @@ def timer_callback(): node_name_suffix = getattr( args, 'node_name_suffix', '_%d' % os.getpid()) - self.node = rclpy.create_node(HIDDEN_NODE_PREFIX + 'ros2cli_node' + node_name_suffix) + self.node = rclpy.create_node(CLI_NODE_NAME_PREFIX + node_name_suffix) timeout = getattr(args, 'spin_time', DEFAULT_TIMEOUT) timer = self.node.create_timer(timeout, timer_callback) diff --git a/ros2node/ros2node/api/__init__.py b/ros2node/ros2node/api/__init__.py index d700e844c..0c6223245 100644 --- a/ros2node/ros2node/api/__init__.py +++ b/ros2node/ros2node/api/__init__.py @@ -15,9 +15,7 @@ from collections import namedtuple from ros2cli.node.strategy import NodeStrategy - -# TODO(mikaelarguedas) revisit this once it's specified -HIDDEN_NODE_PREFIX = '_' +from ros2cli.node import HIDDEN_NODE_PREFIX NodeName = namedtuple('NodeName', ('name', 'namespace', 'full_name')) TopicInfo = namedtuple('Topic', ('name', 'types')) diff --git a/ros2service/ros2service/verb/call.py b/ros2service/ros2service/verb/call.py index cb2b18910..f85668370 100644 --- a/ros2service/ros2service/verb/call.py +++ b/ros2service/ros2service/verb/call.py @@ -21,6 +21,7 @@ from ros2service.verb import VerbExtension from ros2topic.api import set_msg_fields from ros2topic.api import SetFieldError +from ros2cli.node import CLI_NODE_NAME_PREFIX import yaml @@ -76,7 +77,7 @@ def requester(service_type, service_name, values, period): rclpy.init() - node = rclpy.create_node('requester_%s_%s' % (package_name, srv_name)) + node = rclpy.create_node(CLI_NODE_NAME_PREFIX + '_requester_%s_%s' % (package_name, srv_name)) cli = node.create_client(srv_module, service_name) diff --git a/ros2topic/ros2topic/verb/pub.py b/ros2topic/ros2topic/verb/pub.py index 0c80d2f5b..92a69ff4e 100644 --- a/ros2topic/ros2topic/verb/pub.py +++ b/ros2topic/ros2topic/verb/pub.py @@ -21,6 +21,7 @@ from ros2topic.api import TopicNameCompleter from ros2topic.api import TopicTypeCompleter from ros2topic.verb import VerbExtension +from ros2cli.node import CLI_NODE_NAME_PREFIX import yaml @@ -77,7 +78,7 @@ def publisher( if not isinstance(values_dictionary, dict): return 'The passed value needs to be a dictionary in YAML format' if not node_name: - node_name = 'publisher_%s' % (message_type.replace('/', '_'),) + node_name = CLI_NODE_NAME_PREFIX + '_publisher_%s' % (message_type.replace('/', '_'), ) rclpy.init() node = rclpy.create_node(node_name)