Skip to content

Commit 62f60b0

Browse files
authored
feat: Allow importing action feedback message types (backport #1108) (#1112)
1 parent 3d75e36 commit 62f60b0

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

rosbridge_library/src/rosbridge_library/internal/ros_loader.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,11 @@ def _load_class(
231231
raise InvalidModuleException(modname, subname, exc) from exc
232232

233233
try:
234+
# Special case for action feedback messages
235+
if subname == "action" and classname.endswith("_FeedbackMessage"):
236+
action_name, name = classname.rsplit("_", 1)
237+
return getattr(getattr(pypkg, action_name).Impl, name)
238+
234239
return getattr(pypkg, classname)
235240
except Exception as exc:
236241
raise InvalidClassException(modname, subname, classname, exc) from exc

rosbridge_library/test/internal/test_ros_loader.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ def test_assorted_msg_names(self) -> None:
143143
"visualization_msgs/InteractiveMarkerUpdate",
144144
"nav_msgs/GridCells",
145145
"sensor_msgs/PointCloud2",
146+
"example_interfaces/action/Fibonacci_FeedbackMessage",
146147
]
147148
for x in assortedmsgs:
148149
self.assertNotEqual(ros_loader.get_message_class(x), None)

0 commit comments

Comments
 (0)