From 76ed4fbcaa76c0f3c2deec241a73ccfe7d9ff12f Mon Sep 17 00:00:00 2001 From: doronz88 Date: Wed, 5 Jun 2024 14:11:26 +0300 Subject: [PATCH] cli_common: remove coloring on non-tty outputs --- pymobiledevice3/cli/cli_common.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pymobiledevice3/cli/cli_common.py b/pymobiledevice3/cli/cli_common.py index 36e66cc3..e91656f9 100644 --- a/pymobiledevice3/cli/cli_common.py +++ b/pymobiledevice3/cli/cli_common.py @@ -3,6 +3,7 @@ import json import logging import os +import sys import uuid from functools import wraps from typing import Callable, List, Mapping, Optional, Tuple @@ -76,7 +77,7 @@ def print_json(buf, colored: Optional[bool] = None, default=default_json_encoder if colored is None: colored = user_requested_colored_output() formatted_json = json.dumps(buf, sort_keys=True, indent=4, default=default) - if colored: + if colored and os.isatty(sys.stdout.fileno()): colorful_json = highlight(formatted_json, lexers.JsonLexer(), formatters.TerminalTrueColorFormatter(style='stata-dark')) print(colorful_json) @@ -104,7 +105,7 @@ def set_color_flag(ctx, param, value) -> None: def user_requested_colored_output() -> bool: - return COLORED_OUTPUT + return COLORED_OUTPUT and os.isatty(sys.stdout.fileno()) def get_last_used_terminal_formatting(buf: str) -> str: