From e8df5a1d201f8106a99ae7200fefb67540d5ee7b Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Mon, 5 May 2025 21:53:45 -0400 Subject: [PATCH] fix: Don't use link escape chars when no tty Signed-off-by: Ihar Hrachyshka --- nixpkgs_review/report.py | 2 +- nixpkgs_review/utils.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/nixpkgs_review/report.py b/nixpkgs_review/report.py index db5e0a1a..373c3fd9 100644 --- a/nixpkgs_review/report.py +++ b/nixpkgs_review/report.py @@ -328,7 +328,7 @@ def print_console(self, pr: int | None) -> None: if pr is not None: pr_url = f"https://github.com/NixOS/nixpkgs/pull/{pr}" info("\nLink to currently reviewing PR:") - link(f"\u001b]8;;{pr_url}\u001b\\{pr_url}\u001b]8;;\u001b\\\n") + link(pr_url) for system, report in self.system_reports.items(): info(f"--------- Report for '{system}' ---------") diff --git a/nixpkgs_review/utils.py b/nixpkgs_review/utils.py index 17d69593..d3b134f2 100644 --- a/nixpkgs_review/utils.py +++ b/nixpkgs_review/utils.py @@ -26,7 +26,14 @@ def wrapper(text: str) -> None: warn = color_text(31, file=sys.stderr) info = color_text(32) skipped = color_text(33) -link = color_text(34) + + +def link(text: str) -> None: + f = color_text(34) + if HAS_TTY: + f(f"\u001b]8;;{text}\u001b\\{text}\u001b]8;;\u001b\\\n") + else: + f(text) def sh(