use ansi escape and readline so output doesnt mix with input in cli ui

This commit is contained in:
gospodin 2023-10-14 23:45:09 +03:00
parent 20846ca78c
commit f1c675721c

View File

@ -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)