Skip to content

Commit f24f04f

Browse files
authored
Feat: add [WARNING] to console warning messages (#3826)
1 parent e33b65b commit f24f04f

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

sqlmesh/core/console.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@
6767
SnapshotChangeCategory.METADATA: "Metadata",
6868
}
6969

70+
PROGRESS_BAR_WIDTH = 40
71+
LINE_WRAP_WIDTH = 100
72+
7073

7174
class Console(abc.ABC):
7275
"""Abstract base class for defining classes used for displaying information to the user and also interact
@@ -463,7 +466,7 @@ def show_row_diff(
463466
def make_progress_bar(message: str, console: t.Optional[RichConsole] = None) -> Progress:
464467
return Progress(
465468
TextColumn(f"[bold blue]{message}", justify="right"),
466-
BarColumn(bar_width=40),
469+
BarColumn(bar_width=PROGRESS_BAR_WIDTH),
467470
"[progress.percentage]{task.percentage:>3.1f}%",
468471
"•",
469472
srich.BatchColumn(),
@@ -695,7 +698,7 @@ def start_promotion_progress(
695698
f"[bold blue]Virtually Updating '{environment_naming_info.name}'",
696699
justify="right",
697700
),
698-
BarColumn(bar_width=40),
701+
BarColumn(bar_width=PROGRESS_BAR_WIDTH),
699702
"[progress.percentage]{task.percentage:>3.1f}%",
700703
"•",
701704
TimeElapsedColumn(),
@@ -1241,7 +1244,10 @@ def log_error(self, message: str) -> None:
12411244
def log_warning(self, message: str) -> None:
12421245
logger.warning(message)
12431246
if not self.ignore_warnings:
1244-
self._print(f"[yellow]{message}[/yellow]")
1247+
message_lstrip = message.lstrip()
1248+
leading_ws = message[: -len(message_lstrip)]
1249+
message_formatted = f"{leading_ws}[yellow]\\[WARNING] {message_lstrip}[/yellow]"
1250+
self._print(message_formatted)
12451251

12461252
def log_success(self, message: str) -> None:
12471253
self._print(f"\n[green]{message}[/green]\n")
@@ -2073,7 +2079,8 @@ def log_error(self, message: str) -> None:
20732079
super().log_error(f"```\n\\[ERROR] {message}```\n\n")
20742080

20752081
def log_warning(self, message: str) -> None:
2076-
super().log_warning(f"```\n\\[WARNING] {message}```\n\n")
2082+
logger.warning(message)
2083+
self._print(f"```\n\\[WARNING] {message}```\n\n")
20772084

20782085

20792086
class DatabricksMagicConsole(CaptureTerminalConsole):
@@ -2499,7 +2506,7 @@ def _format_audits_errors(error: NodeAuditsErrors) -> str:
24992506

25002507
err_msg = f"'{err.audit_name}' audit error: {err.count} {'row' if err.count == 1 else 'rows'} failed"
25012508

2502-
query = "\n ".join(textwrap.wrap(err.sql(err.adapter_dialect), width=100))
2509+
query = "\n ".join(textwrap.wrap(err.sql(err.adapter_dialect), width=LINE_WRAP_WIDTH))
25032510
msg = f"{err_msg}\n\nAudit arguments\n {audit_args_sql_msg}Audit query\n {query}\n\n"
25042511
msg = msg.replace("\n", "\n ")
25052512
error_messages.append(msg)

tests/cli/test_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ def test_plan_dev_bad_create_from(runner, tmp_path):
434434
assert result.exit_code == 0
435435
assert_new_env(result, "dev2", "dev")
436436
assert (
437-
"The environment name 'dev3' was passed to the `plan` command's `--create-from` argument, but 'dev3' does not exist. Initializing new environment 'dev2' from scratch."
437+
"[WARNING] The environment name 'dev3' was passed to the `plan` command's `--create-from` argument, but 'dev3' does not exist. Initializing new environment 'dev2' from scratch."
438438
in result.output.replace("\n", "")
439439
)
440440

0 commit comments

Comments
 (0)