Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions ros2component/ros2component/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@

COMPONENTS_RESOURCE_TYPE = 'rclcpp_components'

_LOG_LEVEL_MAP = {
'debug': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_DEBUG,
'info': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_INFO,
'warn': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_WARN,
'warning': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_WARN,
'error': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_ERROR,
'fatal': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_FATAL,
}


def get_package_names_with_component_types():
"""Get the names of all packages that register component types in the ament index."""
Expand Down Expand Up @@ -230,7 +239,12 @@ def load_component_into_container(
if node_namespace is not None:
request.node_namespace = node_namespace
if log_level is not None:
request.log_level = log_level
if log_level not in _LOG_LEVEL_MAP:
raise RuntimeError(
f"Invalid log level '{log_level}'. "
'Valid values are: debug, info, warn, error, fatal'
)
request.log_level = _LOG_LEVEL_MAP[log_level]
if remap_rules is not None:
request.remap_rules = remap_rules
if parameters is not None:
Expand Down Expand Up @@ -366,7 +380,11 @@ def add_component_arguments(parser):
argument.completer = ComponentTypeNameCompleter(package_name_key='package_name')
parser.add_argument('-n', '--node-name', help='Component node name')
parser.add_argument('--node-namespace', help='Component node namespace')
parser.add_argument('--log-level', help='Component node log level')
parser.add_argument(
'--log-level', type=str.lower,
choices=['debug', 'info', 'warn', 'warning', 'error', 'fatal'],
help='Component node log level (debug, info, warn, error, fatal)'
)
parser.add_argument(
'-r', '--remap-rule', action='append', dest='remap_rules',
help="Component node remapping rules, in the 'from:=to' form"
Expand Down