diff --git a/comfy_cli/cmdline.py b/comfy_cli/cmdline.py index 247ba95..a7dfc2b 100644 --- a/comfy_cli/cmdline.py +++ b/comfy_cli/cmdline.py @@ -527,10 +527,18 @@ def which(): @tracking.track_command() def env(): check_for_updates() - _env_checker = EnvChecker() - table = _env_checker.fill_print_table() - workspace_manager.fill_print_table(table) - console.print(table) + + env_data = EnvChecker().fill_print_table() + + workspace_data = workspace_manager.fill_print_table() + + all_data = env_data + workspace_data + + ui.display_table( + data=all_data, + column_names=[":laptop_computer: Environment", "Value"], + title="Environment Information", + ) @app.command(hidden=True) diff --git a/comfy_cli/config_manager.py b/comfy_cli/config_manager.py index 616bf09..cf692c0 100644 --- a/comfy_cli/config_manager.py +++ b/comfy_cli/config_manager.py @@ -62,48 +62,57 @@ def load(self): if not is_running(self.background[2]): self.remove_background() - def fill_print_env(self, table): - table.add_row("Config Path", self.get_config_file_path()) + + def get_env_data(self): + """ + Get environment data as a list of tuples for display. + + Returns: + List[Tuple[str, str]]: List of (key, value) tuples for environment data. + """ + data = [] + data.append(("Config Path", self.get_config_file_path())) launch_extras = "" if self.config.has_option("DEFAULT", "default_workspace"): - table.add_row( + data.append(( "Default ComfyUI workspace", self.config["DEFAULT"][constants.CONFIG_KEY_DEFAULT_WORKSPACE], - ) - + )) launch_extras = self.config["DEFAULT"].get(constants.CONFIG_KEY_DEFAULT_LAUNCH_EXTRAS, "") else: - table.add_row("Default ComfyUI workspace", "No default ComfyUI workspace") + data.append(("Default ComfyUI workspace", "No default ComfyUI workspace")) if launch_extras == "": launch_extras = "[bold red]None[/bold red]" - table.add_row("Default ComfyUI launch extra options", launch_extras) + data.append(("Default ComfyUI launch extra options", launch_extras)) if self.config.has_option("DEFAULT", constants.CONFIG_KEY_RECENT_WORKSPACE): - table.add_row( + data.append(( "Recent ComfyUI workspace", self.config["DEFAULT"][constants.CONFIG_KEY_RECENT_WORKSPACE], - ) + )) else: - table.add_row("Recent ComfyUI workspace", "No recent run") + data.append(("Recent ComfyUI workspace", "No recent run")) if self.config.has_option("DEFAULT", "enable_tracking"): - table.add_row( + data.append(( "Tracking Analytics", ("Enabled" if self.config["DEFAULT"]["enable_tracking"] == "True" else "Disabled"), - ) + )) if self.config.has_option("DEFAULT", constants.CONFIG_KEY_BACKGROUND): bg_info = self.background if bg_info: - table.add_row( + data.append(( "Background ComfyUI", f"http://{bg_info[0]}:{bg_info[1]} (pid={bg_info[2]})", - ) + )) else: - table.add_row("Background ComfyUI", "[bold red]No[/bold red]") + data.append(("Background ComfyUI", "[bold red]No[/bold red]")) + + return data def remove_background(self): del self.config["DEFAULT"]["background"] diff --git a/comfy_cli/env_checker.py b/comfy_cli/env_checker.py index 563d72a..412d658 100644 --- a/comfy_cli/env_checker.py +++ b/comfy_cli/env_checker.py @@ -7,7 +7,6 @@ import requests from rich.console import Console -from rich.table import Table from comfy_cli.config_manager import ConfigManager from comfy_cli.utils import singleton @@ -89,25 +88,25 @@ def check(self): self.virtualenv_path = os.environ.get("VIRTUAL_ENV") if os.environ.get("VIRTUAL_ENV") else None self.conda_env = os.environ.get("CONDA_DEFAULT_ENV") if os.environ.get("CONDA_DEFAULT_ENV") else None - # TODO: use ui.display_table def fill_print_table(self): - table = Table(":laptop_computer: Environment", "Value") - table.add_row("Python Version", format_python_version(sys.version_info)) - table.add_row("Python Executable", sys.executable) - table.add_row( + data = [] + data.append(("Python Version", format_python_version(sys.version_info))) + data.append(("Python Executable", sys.executable)) + data.append(( "Virtualenv Path", self.virtualenv_path if self.virtualenv_path else "Not Used", - ) - table.add_row("Conda Env", self.conda_env if self.conda_env else "Not Used") + )) + data.append(("Conda Env", self.conda_env if self.conda_env else "Not Used")) - ConfigManager().fill_print_env(table) + config_data = ConfigManager().get_env_data() + data.extend(config_data) if check_comfy_server_running(): - table.add_row( + data.append(( "Comfy Server Running", "[bold green]Yes[/bold green]\nhttp://localhost:8188", - ) + )) else: - table.add_row("Comfy Server Running", "[bold red]No[/bold red]") + data.append(("Comfy Server Running", "[bold red]No[/bold red]")) - return table + return data diff --git a/comfy_cli/workspace_manager.py b/comfy_cli/workspace_manager.py index fc5f451..93f6457 100644 --- a/comfy_cli/workspace_manager.py +++ b/comfy_cli/workspace_manager.py @@ -311,8 +311,5 @@ def save_metadata(self): file_path = os.path.join(self.workspace_path, constants.COMFY_LOCK_YAML_FILE) save_yaml(file_path, self.metadata) - def fill_print_table(self, table): - table.add_row( - "Current selected workspace", - f"[bold green]→ {self.workspace_path}[/bold green]", - ) + def fill_print_table(self): + return [("Current selected workspace", f"[bold green]→ {self.workspace_path}[/bold green]")]