From f1c675721c03646f16659790a4f6f7531f28739d Mon Sep 17 00:00:00 2001 From: gospodin Date: Sat, 14 Oct 2023 23:45:09 +0300 Subject: [PATCH] use ansi escape and readline so output doesnt mix with input in cli ui --- syncplay/ui/consoleUI.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/syncplay/ui/consoleUI.py b/syncplay/ui/consoleUI.py index 5ea9819..97c4abb 100755 --- a/syncplay/ui/consoleUI.py +++ b/syncplay/ui/consoleUI.py @@ -4,6 +4,7 @@ import sys import threading import time import os +import readline import syncplay from syncplay import constants @@ -105,10 +106,15 @@ class ConsoleUI(threading.Thread): message = message.decode('utf-8') except UnicodeEncodeError: pass + sys.stdout.write('\33[2K\r') if noTimestamp: print(message) else: print(time.strftime(constants.UI_TIME_FORMAT, time.localtime()) + message) + line = readline.get_line_buffer() + if line != '': + print(line, end='') + sys.stdout.flush() def showDebugMessage(self, message): print(message)