Skip to content

Commit 3dc613a

Browse files
author
Victor Lopez
committed
remove duplicate services and msgs
1 parent 596eb40 commit 3dc613a

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

ros1_bridge/__init__.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,10 @@ def get_ros1_messages(rospack=None):
245245
pkgs = sorted(x for x in rosmsg.iterate_packages(rospack, rosmsg.MODE_MSG))
246246
for package_name, path in pkgs:
247247
for message_name in rosmsg._list_types(path, 'msg', rosmsg.MODE_MSG):
248-
msgs.append(Message(package_name, message_name, path))
248+
# iterate_packages might return ROS2 paths for already found ROS1 pkgs
249+
msg = Message(package_name, message_name, path)
250+
if msg not in msgs:
251+
msgs.append(msg)
249252
return msgs
250253

251254

@@ -626,14 +629,15 @@ def determine_common_services(
626629
'cpptype': ros2_type.rstrip('[]').replace('/', '::msg::')
627630
}
628631
})
629-
if match:
630-
services.append({
632+
service_data = {
631633
'ros1_name': pair[0].message_name,
632634
'ros2_name': pair[1].message_name,
633635
'ros1_package': pair[0].package_name,
634636
'ros2_package': pair[1].package_name,
635637
'fields': output
636-
})
638+
}
639+
if match and service_data not in services:
640+
services.append(service_data)
637641
return services
638642

639643

0 commit comments

Comments
 (0)