From bd6cef29a3e9aeb67b76180722588f7ef02df43b Mon Sep 17 00:00:00 2001 From: ivanpauno Date: Tue, 27 Aug 2019 11:33:45 -0300 Subject: [PATCH 1/3] Handle find_container_node_names error Signed-off-by: ivanpauno --- ros2component/ros2component/api/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ros2component/ros2component/api/__init__.py b/ros2component/ros2component/api/__init__.py index 78f1deacb..639195d37 100644 --- a/ros2component/ros2component/api/__init__.py +++ b/ros2component/ros2component/api/__init__.py @@ -201,7 +201,10 @@ def find_container_node_names(*, node, node_names): """ container_node_names = [] for n in node_names: - services = get_service_info(node=node, remote_node_name=n.full_name) + try: + services = get_service_info(node=node, remote_node_name=n.full_name) + except RuntimeError: + continue if not any(s.name.endswith('_container/load_node') and 'composition_interfaces/srv/LoadNode' in s.types for s in services): From 868530ff9ec964f1db5503b67c1d319226970a47 Mon Sep 17 00:00:00 2001 From: ivanpauno Date: Fri, 30 Aug 2019 17:00:56 -0300 Subject: [PATCH 2/3] Use custom error instead of RuntimeError Signed-off-by: ivanpauno --- ros2component/ros2component/api/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ros2component/ros2component/api/__init__.py b/ros2component/ros2component/api/__init__.py index 639195d37..5857cc441 100644 --- a/ros2component/ros2component/api/__init__.py +++ b/ros2component/ros2component/api/__init__.py @@ -203,7 +203,7 @@ def find_container_node_names(*, node, node_names): for n in node_names: try: services = get_service_info(node=node, remote_node_name=n.full_name) - except RuntimeError: + except rclpy.NodeNameNonExistentError: continue if not any(s.name.endswith('_container/load_node') and 'composition_interfaces/srv/LoadNode' in s.types From 8f8ff714a75f8ec9780b7a42bca084f1082ec0a8 Mon Sep 17 00:00:00 2001 From: ivanpauno Date: Mon, 16 Sep 2019 15:59:45 -0300 Subject: [PATCH 3/3] Update error import Signed-off-by: ivanpauno --- ros2component/ros2component/api/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ros2component/ros2component/api/__init__.py b/ros2component/ros2component/api/__init__.py index 5857cc441..e8c821263 100644 --- a/ros2component/ros2component/api/__init__.py +++ b/ros2component/ros2component/api/__init__.py @@ -203,7 +203,7 @@ def find_container_node_names(*, node, node_names): for n in node_names: try: services = get_service_info(node=node, remote_node_name=n.full_name) - except rclpy.NodeNameNonExistentError: + except rclpy.node.NodeNameNonExistentError: continue if not any(s.name.endswith('_container/load_node') and 'composition_interfaces/srv/LoadNode' in s.types