fix(cli): only render progress when in TTY

Prevents logging terminal clear commands in non-TTY environments (LangSmith / CI)
This commit is contained in:
Tat Dat Duong
2025-04-16 21:25:21 +02:00
parent c78588b995
commit 2fc941c1df
+23 -14
View File
@@ -44,21 +44,30 @@ class Progress:
sys.stdout.flush()
def __enter__(self) -> Callable[[str], None]:
self.thread = threading.Thread(target=self.spinner_task)
self.thread.start()
if not sys.stdout.isatty():
self.thread = threading.Thread(target=self.spinner_task)
self.thread.start()
def set_message(message):
self.message = message
if not message:
self.thread.join()
def set_message(message):
self.message = message
if not message:
self.thread.join()
return set_message
return set_message
else:
def set_message(message):
sys.stderr.write(message + "\n")
sys.stderr.flush()
return set_message
def __exit__(self, exception, value, tb):
self.message = ""
try:
self.thread.join()
finally:
del self.thread
if exception is not None:
return False
if sys.stdout.isatty():
self.message = ""
try:
self.thread.join()
finally:
del self.thread
if exception is not None:
return False