Skip to content

Commit

Permalink
Improve info page
Browse files Browse the repository at this point in the history
  • Loading branch information
rbonghi committed Jan 26, 2025
1 parent 86710bf commit 09617d1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/nanosaur/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

from nanosaur.docker import docker_robot_start, docker_robot_stop
from nanosaur.robot import parser_robot_menu
from nanosaur.simulation import parser_simulation_menu
from nanosaur.simulation import parser_simulation_menu, simulation_info
from nanosaur.swarm import parser_swarm_menu
from nanosaur.prompt_colors import TerminalFormatter
from nanosaur.ros import get_ros2_path
Expand Down Expand Up @@ -95,7 +95,10 @@ def info(platform, params: Params, args):
color = NANOSAUR_INSTALL_OPTIONS_RULES[mode]['color']
mode_string = TerminalFormatter.color_text(f"{mode}", color=color, bold=True)
print(f"{TerminalFormatter.color_text('Mode: ', bold=True)} {mode_string}")

if 'debug' in params:
debug_string = TerminalFormatter.color_text(f"{params['debug']}", color="yellow", bold=True)
print(f"{TerminalFormatter.color_text('Default debug: ', bold=True)} {debug_string}")
# Load the robot list
robot_list = RobotList.load(params)
# Print current robot configuration
robot_data = RobotList.get_robot(params)
Expand All @@ -106,8 +109,8 @@ def info(platform, params: Params, args):
print()
robot_list.print_all_robots(params.get('robot_idx', 0))
# Print simulation tools if they exist
if 'simulation_tool' in params:
print(f"\n{TerminalFormatter.color_text('Simulation Tool:', bold=True)} {params['simulation_tool']}")
print()
simulation_info(params, args.verbose)
# Print installed workspaces
workspaces_info(params, args.verbose)
# Print all robot configurations
Expand Down
27 changes: 27 additions & 0 deletions src/nanosaur/simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,33 @@ def is_simulation_tool_installed():
return bool(find_all_isaac_sim()) or is_gazebo_installed()


def simulation_info(params: Params, verbose):
"""
Print information about the installed simulation tools.
"""
# Check if any simulation tools are installed
if not is_simulation_tool_installed():
print(TerminalFormatter.color_text("No simulation tools installed", color='red'))
return

print(TerminalFormatter.color_text("Simulation:", bold=True))
if 'simulation_tool' in params:
isaac_sim_version = ""
if 'isaac_sim_path' in params:
isaac_sim_version = params['isaac_sim_path'].split("isaac-sim-")[-1] # Extract version after "isaac-sim-"
text_message = f"{TerminalFormatter.color_text(' selected:', bold=True)} {params['simulation_tool']} {isaac_sim_version}"
print(text_message)

# Check if Isaac Sim is installed
if verbose:
if isaac_sim_list := find_all_isaac_sim():
print(TerminalFormatter.color_text(" Isaac Sim installed:", bold=True))
for version, path in isaac_sim_list.items():
print(f" - Isaac Sim {version}: {path}")
# Check if Gazebo is installed
if is_gazebo_installed():
print(TerminalFormatter.color_text(" Gazebo is installed", bold=True))

def parser_simulation_menu(subparsers: argparse._SubParsersAction, params: Params) -> argparse.ArgumentParser:
# Get the simulation tool from the parameters
simulation_type = params.get('simulation_tool', "NOT SELECTED")
Expand Down

0 comments on commit 09617d1

Please sign in to comment.