Skip to content

Commit 5c383b9

Browse files
author
David Hodo
committed
parse middle_module from message type
support either .msg or .idl packages
1 parent 9e1cb8d commit 5c383b9

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

ros2topic/ros2topic/api/__init__.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,18 @@ def __call__(self, prefix, parsed_args, **kwargs):
5757
def import_message_type(topic_name, message_type):
5858
# TODO(dirk-thomas) this logic should come from a rosidl related package
5959
try:
60-
package_name, *message_name = message_type.split('/')
61-
if not package_name or not message_name or not all(message_name):
60+
package_name, middle_module, message_name = message_type.split('/')
61+
if not package_name or not middle_module or not message_name:
6262
raise ValueError()
6363
except ValueError:
6464
raise RuntimeError('The passed message type is invalid')
6565

6666
# TODO(sloretz) node API to get topic types should indicate if action or msg
67-
middle_module = 'msg'
6867
if topic_name.endswith('/_action/feedback'):
6968
middle_module = 'action'
7069

7170
module = importlib.import_module(package_name + '.' + middle_module)
72-
return getattr(module, message_name[-1])
71+
return getattr(module, message_name)
7372

7473

7574
class TopicTypeCompleter:

0 commit comments

Comments
 (0)