Skip to content

Commit

Permalink
use three-part interface names in msg/srv/action show and msg/srv/ li…
Browse files Browse the repository at this point in the history
…st (#259)

Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
  • Loading branch information
dirk-thomas committed May 23, 2019
1 parent eb5d2b7 commit 9ef85db
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 12 deletions.
2 changes: 1 addition & 1 deletion ros2action/ros2action/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def action_type_completer(**kwargs):
for package_name, action_names in get_all_action_types().items():
for action_name in action_names:
action_types.append(
'{package_name}/{action_name}'.format_map(locals()))
'{package_name}/action/{action_name}'.format_map(locals()))
return action_types


Expand Down
16 changes: 13 additions & 3 deletions ros2action/ros2action/verb/show.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,22 @@ class ShowVerb(VerbExtension):
def add_arguments(self, parser, cli_name):
arg = parser.add_argument(
'action_type',
help="Type of the ROS action (e.g. 'example_interfaces/Fibonacci')")
help='Type of the ROS action (e.g. '
"'example_interfaces/action/Fibonacci')")
arg.completer = action_type_completer

def main(self, *, args):
package_name, action_name = args.action_type.split('/', 2)
if not package_name or not action_name:
try:
parts = args.action_type.split('/')
if len(parts) == 1:
raise ValueError()
if len(parts) == 2:
parts = [parts[0], 'action', parts[1]]
package_name = parts[0]
action_name = parts[-1]
if not package_name or not action_name:
raise ValueError()
except ValueError:
raise RuntimeError('The passed action type is invalid')
try:
path = get_action_path(package_name, action_name)
Expand Down
2 changes: 1 addition & 1 deletion ros2msg/ros2msg/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def message_type_completer(**kwargs):
for package_name, message_names in get_all_message_types().items():
for message_name in message_names:
message_types.append(
'{package_name}/{message_name}'.format_map(locals()))
'{package_name}/msg/{message_name}'.format_map(locals()))
return message_types


Expand Down
2 changes: 1 addition & 1 deletion ros2msg/ros2msg/verb/list.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ def main(self, *, args):
message_types = get_all_message_types()
for package_name in sorted(message_types.keys()):
for message_name in sorted(message_types[package_name]):
print('{package_name}/{message_name}'.format_map(locals()))
print('{package_name}/msg/{message_name}'.format_map(locals()))
10 changes: 8 additions & 2 deletions ros2msg/ros2msg/verb/show.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,20 @@ class ShowVerb(VerbExtension):
def add_arguments(self, parser, cli_name):
arg = parser.add_argument(
'message_type',
help="Type of the ROS message (e.g. 'std_msgs/String')")
help="Type of the ROS message (e.g. 'std_msgs/msg/String')")
arg.completer = message_type_completer

def main(self, *, args):
# TODO(dirk-thomas) this logic should come from a rosidl related
# package
try:
package_name, message_name = args.message_type.split('/', 2)
parts = args.message_type.split('/')
if len(parts) == 1:
raise ValueError()
if len(parts) == 2:
parts = [parts[0], 'msg', parts[1]]
package_name = parts[0]
message_name = parts[-1]
if not package_name or not message_name:
raise ValueError()
except ValueError:
Expand Down
2 changes: 1 addition & 1 deletion ros2srv/ros2srv/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def service_type_completer(**kwargs):
for package_name, service_names in get_all_service_types().items():
for service_name in service_names:
service_types.append(
'{package_name}/{service_name}'.format_map(locals()))
'{package_name}/srv/{service_name}'.format_map(locals()))
return service_types


Expand Down
2 changes: 1 addition & 1 deletion ros2srv/ros2srv/verb/list.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ def main(self, *, args):
service_types = get_all_service_types()
for package_name in sorted(service_types.keys()):
for service_name in sorted(service_types[package_name]):
print('{package_name}/{service_name}'.format_map(locals()))
print('{package_name}/srv/{service_name}'.format_map(locals()))
10 changes: 8 additions & 2 deletions ros2srv/ros2srv/verb/show.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,20 @@ class ShowVerb(VerbExtension):
def add_arguments(self, parser, cli_name):
arg = parser.add_argument(
'service_type',
help="Type of the ROS service (e.g. 'std_srvs/Trigger')")
help="Type of the ROS service (e.g. 'std_srvs/srv/Trigger')")
arg.completer = service_type_completer

def main(self, *, args):
# TODO(dirk-thomas) this logic should come from a rosidl related
# package
try:
package_name, service_name = args.service_type.split('/', 2)
parts = args.service_type.split('/')
if len(parts) == 1:
raise ValueError()
if len(parts) == 2:
parts = [parts[0], 'srv', parts[1]]
package_name = parts[0]
service_name = parts[-1]
if not package_name or not service_name:
raise ValueError()
except ValueError:
Expand Down

0 comments on commit 9ef85db

Please sign in to comment.