Skip to content

Commit 2575000

Browse files
authored
feat: refactor env command to use ui.display_table for consistent table display (#286)
1 parent e56a412 commit 2575000

File tree

4 files changed

+50
-37
lines changed

4 files changed

+50
-37
lines changed

comfy_cli/cmdline.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -539,10 +539,18 @@ def which():
539539
@tracking.track_command()
540540
def env():
541541
check_for_updates()
542-
_env_checker = EnvChecker()
543-
table = _env_checker.fill_print_table()
544-
workspace_manager.fill_print_table(table)
545-
console.print(table)
542+
543+
env_data = EnvChecker().fill_print_table()
544+
545+
workspace_data = workspace_manager.fill_print_table()
546+
547+
all_data = env_data + workspace_data
548+
549+
ui.display_table(
550+
data=all_data,
551+
column_names=[":laptop_computer: Environment", "Value"],
552+
title="Environment Information",
553+
)
546554

547555

548556
@app.command(hidden=True)

comfy_cli/config_manager.py

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -83,48 +83,57 @@ def load(self):
8383
if not is_running(self.background[2]):
8484
self.remove_background()
8585

86-
def fill_print_env(self, table):
87-
table.add_row("Config Path", self.get_config_file_path())
86+
87+
def get_env_data(self):
88+
"""
89+
Get environment data as a list of tuples for display.
90+
91+
Returns:
92+
List[Tuple[str, str]]: List of (key, value) tuples for environment data.
93+
"""
94+
data = []
95+
data.append(("Config Path", self.get_config_file_path()))
8896

8997
launch_extras = ""
9098
if self.config.has_option("DEFAULT", "default_workspace"):
91-
table.add_row(
99+
data.append((
92100
"Default ComfyUI workspace",
93101
self.config["DEFAULT"][constants.CONFIG_KEY_DEFAULT_WORKSPACE],
94-
)
95-
102+
))
96103
launch_extras = self.config["DEFAULT"].get(constants.CONFIG_KEY_DEFAULT_LAUNCH_EXTRAS, "")
97104
else:
98-
table.add_row("Default ComfyUI workspace", "No default ComfyUI workspace")
105+
data.append(("Default ComfyUI workspace", "No default ComfyUI workspace"))
99106

100107
if launch_extras == "":
101108
launch_extras = "[bold red]None[/bold red]"
102109

103-
table.add_row("Default ComfyUI launch extra options", launch_extras)
110+
data.append(("Default ComfyUI launch extra options", launch_extras))
104111

105112
if self.config.has_option("DEFAULT", constants.CONFIG_KEY_RECENT_WORKSPACE):
106-
table.add_row(
113+
data.append((
107114
"Recent ComfyUI workspace",
108115
self.config["DEFAULT"][constants.CONFIG_KEY_RECENT_WORKSPACE],
109-
)
116+
))
110117
else:
111-
table.add_row("Recent ComfyUI workspace", "No recent run")
118+
data.append(("Recent ComfyUI workspace", "No recent run"))
112119

113120
if self.config.has_option("DEFAULT", "enable_tracking"):
114-
table.add_row(
121+
data.append((
115122
"Tracking Analytics",
116123
("Enabled" if self.config["DEFAULT"]["enable_tracking"] == "True" else "Disabled"),
117-
)
124+
))
118125

119126
if self.config.has_option("DEFAULT", constants.CONFIG_KEY_BACKGROUND):
120127
bg_info = self.background
121128
if bg_info:
122-
table.add_row(
129+
data.append((
123130
"Background ComfyUI",
124131
f"http://{bg_info[0]}:{bg_info[1]} (pid={bg_info[2]})",
125-
)
132+
))
126133
else:
127-
table.add_row("Background ComfyUI", "[bold red]No[/bold red]")
134+
data.append(("Background ComfyUI", "[bold red]No[/bold red]"))
135+
136+
return data
128137

129138
def remove_background(self):
130139
del self.config["DEFAULT"]["background"]

comfy_cli/env_checker.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
import requests
99
from rich.console import Console
10-
from rich.table import Table
1110

1211
from comfy_cli.config_manager import ConfigManager
1312
from comfy_cli.utils import singleton
@@ -89,25 +88,25 @@ def check(self):
8988
self.virtualenv_path = os.environ.get("VIRTUAL_ENV") if os.environ.get("VIRTUAL_ENV") else None
9089
self.conda_env = os.environ.get("CONDA_DEFAULT_ENV") if os.environ.get("CONDA_DEFAULT_ENV") else None
9190

92-
# TODO: use ui.display_table
9391
def fill_print_table(self):
94-
table = Table(":laptop_computer: Environment", "Value")
95-
table.add_row("Python Version", format_python_version(sys.version_info))
96-
table.add_row("Python Executable", sys.executable)
97-
table.add_row(
92+
data = []
93+
data.append(("Python Version", format_python_version(sys.version_info)))
94+
data.append(("Python Executable", sys.executable))
95+
data.append((
9896
"Virtualenv Path",
9997
self.virtualenv_path if self.virtualenv_path else "Not Used",
100-
)
101-
table.add_row("Conda Env", self.conda_env if self.conda_env else "Not Used")
98+
))
99+
data.append(("Conda Env", self.conda_env if self.conda_env else "Not Used"))
102100

103-
ConfigManager().fill_print_env(table)
101+
config_data = ConfigManager().get_env_data()
102+
data.extend(config_data)
104103

105104
if check_comfy_server_running():
106-
table.add_row(
105+
data.append((
107106
"Comfy Server Running",
108107
"[bold green]Yes[/bold green]\nhttp://localhost:8188",
109-
)
108+
))
110109
else:
111-
table.add_row("Comfy Server Running", "[bold red]No[/bold red]")
110+
data.append(("Comfy Server Running", "[bold red]No[/bold red]"))
112111

113-
return table
112+
return data

comfy_cli/workspace_manager.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,5 @@ def save_metadata(self):
311311
file_path = os.path.join(self.workspace_path, constants.COMFY_LOCK_YAML_FILE)
312312
save_yaml(file_path, self.metadata)
313313

314-
def fill_print_table(self, table):
315-
table.add_row(
316-
"Current selected workspace",
317-
f"[bold green]→ {self.workspace_path}[/bold green]",
318-
)
314+
def fill_print_table(self):
315+
return [("Current selected workspace", f"[bold green]→ {self.workspace_path}[/bold green]")]

0 commit comments

Comments
 (0)