From 0711cd6274eace78dde90f56b7994e60edba7697 Mon Sep 17 00:00:00 2001 From: Soham Patil Date: Thu, 29 Feb 2024 22:21:33 +0530 Subject: [PATCH] Added spawner colours to `list_controllers` depending upon active or inactive (#1409) --- .../ros2controlcli/verb/list_controllers.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ros2controlcli/ros2controlcli/verb/list_controllers.py b/ros2controlcli/ros2controlcli/verb/list_controllers.py index ca73e7afef..31ce814865 100644 --- a/ros2controlcli/ros2controlcli/verb/list_controllers.py +++ b/ros2controlcli/ros2controlcli/verb/list_controllers.py @@ -13,6 +13,7 @@ # limitations under the License. from controller_manager import list_controllers +from controller_manager.spawner import bcolors from ros2cli.node.direct import add_arguments from ros2cli.node.strategy import NodeStrategy @@ -22,7 +23,15 @@ def print_controller_state(c, args): - print(f"{c.name:20s}[{c.type:20s}] {c.state:10s}") + state_color = "" + if c.state == "active": + state_color = bcolors.OKGREEN + elif c.state == "inactive": + state_color = bcolors.OKCYAN + elif c.state == "unconfigured": + state_color = bcolors.WARNING + + print(f"{c.name:20s}[{c.type:20s}] {state_color}{c.state:10s}{bcolors.ENDC}") if args.claimed_interfaces or args.verbose: print("\tclaimed interfaces:") for claimed_interface in c.claimed_interfaces: