mirror of
https://github.com/esphome/esphome.git
synced 2025-09-28 16:12:24 +01:00
[dashboard] Fix progress bars on Windows (#10858)
This commit is contained in:
@@ -283,11 +283,23 @@ class EsphomeCommandWebSocket(tornado.websocket.WebSocketHandler):
|
|||||||
def _stdout_thread(self) -> None:
|
def _stdout_thread(self) -> None:
|
||||||
if not self._use_popen:
|
if not self._use_popen:
|
||||||
return
|
return
|
||||||
|
line = b""
|
||||||
|
cr = False
|
||||||
while True:
|
while True:
|
||||||
data = self._proc.stdout.readline()
|
data = self._proc.stdout.read(1)
|
||||||
if data:
|
if data:
|
||||||
data = data.replace(b"\r", b"")
|
if data == b"\r":
|
||||||
self._queue.put_nowait(data)
|
cr = True
|
||||||
|
elif data == b"\n":
|
||||||
|
self._queue.put_nowait(line + b"\n")
|
||||||
|
line = b""
|
||||||
|
cr = False
|
||||||
|
elif cr:
|
||||||
|
self._queue.put_nowait(line + b"\r")
|
||||||
|
line = data
|
||||||
|
cr = False
|
||||||
|
else:
|
||||||
|
line += data
|
||||||
if self._proc.poll() is not None:
|
if self._proc.poll() is not None:
|
||||||
break
|
break
|
||||||
self._proc.wait(1.0)
|
self._proc.wait(1.0)
|
||||||
|
Reference in New Issue
Block a user