From f67c4ab689e0af8933f4e32986e3dcd4215886ed Mon Sep 17 00:00:00 2001 From: Dustin Ngo Date: Tue, 26 Jul 2022 11:04:49 -0400 Subject: [PATCH] Format profiles in a table --- src/prefect/cli/cloud.py | 2 +- src/prefect/cli/profile.py | 11 +++++++++-- tests/cli/test_profile.py | 30 ++++++++++++------------------ 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/prefect/cli/cloud.py b/src/prefect/cli/cloud.py index 1389bd74f15f..5292d9e20668 100644 --- a/src/prefect/cli/cloud.py +++ b/src/prefect/cli/cloud.py @@ -337,7 +337,7 @@ async def ls(): current_workspace = get_current_workspace(workspaces) - table = Table() + table = Table(caption="* active workspace") table.add_column( "[#024dfd]Available Workspaces:", justify="right", style="#8ea0ae", no_wrap=True ) diff --git a/src/prefect/cli/profile.py b/src/prefect/cli/profile.py index 2f5dd05b62ab..b6efa0b50381 100644 --- a/src/prefect/cli/profile.py +++ b/src/prefect/cli/profile.py @@ -8,6 +8,7 @@ import typer from fastapi import status from rich.progress import Progress, SpinnerColumn, TextColumn +from rich.table import Table import prefect.context import prefect.settings @@ -33,11 +34,17 @@ def ls(): current_profile = prefect.context.get_settings_context().profile current_name = current_profile.name if current_profile is not None else None + table = Table(caption="* active profile") + table.add_column( + "[#024dfd]Available Profiles:", justify="right", style="#8ea0ae", no_wrap=True + ) + for name in profiles: if name == current_name: - app.console.print(f"* {name}") + table.add_row(f"[green] * {name}[/green]") else: - app.console.print(name) + table.add_row(f" {name}") + app.console.print(table) @profile_app.command() diff --git a/tests/cli/test_profile.py b/tests/cli/test_profile.py index cdd52d933be6..7e75627e8366 100644 --- a/tests/cli/test_profile.py +++ b/tests/cli/test_profile.py @@ -210,7 +210,7 @@ def test_ls_default_profiles(): # 'default' is not the current profile because we have a temporary profile in-use # during tests - invoke_and_assert(["profile", "ls"], expected_output="default") + invoke_and_assert(["profile", "ls"], expected_output_contains="default") def test_ls_additional_profiles(): @@ -229,12 +229,10 @@ def test_ls_additional_profiles(): invoke_and_assert( ["profile", "ls"], - expected_output=( - """ - default - foo - bar - """ + expected_output_contains=( + "default", + "foo", + "bar", ), ) @@ -251,11 +249,9 @@ def test_ls_respects_current_from_profile_flag(): invoke_and_assert( ["--profile", "foo", "profile", "ls"], - expected_output=( - """ - default - * foo - """ + expected_output_contains=( + "default", + "* foo", ), ) @@ -274,12 +270,10 @@ def test_ls_respects_current_from_context(): with use_profile("bar"): invoke_and_assert( ["profile", "ls"], - expected_output=( - """ - default - foo - * bar - """ + expected_output_contains=( + "default", + "foo", + "* bar", ), )