Refresh CLI output by input.

Change-Id: I3257d418e3af3d668d17d2c16e1bd7ec9d2b01ea
This commit is contained in:
Shuhei Iitsuka
2018-09-12 15:44:04 +09:00
parent 4b1db14aef
commit ba11dcdf60
4 changed files with 26 additions and 7 deletions

View File

@@ -23,4 +23,4 @@ from .nazorunet import nazorunet
from .nazorunet import Conv
from .nazorunet import DepthSepConv
from .predictor import NazoruPredictor
from .utils import clear_screen

View File

@@ -23,6 +23,7 @@ import os
import struct
import sys
import termios
from .utils import clear_screen
try:
import evdev
@@ -130,10 +131,12 @@ class KeyboardRecorderFromConsole(KeyboardRecorder):
if not recording:
recording = True
start_time = datetime.datetime.now()
clear_screen()
elapsed_time = now - start_time
elapsed_ms = int(elapsed_time.total_seconds() * 1000)
last_time = now
data.append((key, elapsed_ms))
sys.stdout.write('%s\r' % (' '.join(datum[0] for datum in data)))
self.log(key, elapsed_ms)
if last_time and (now - last_time).total_seconds() > wait_seconds:
break
@@ -260,6 +263,8 @@ class KeyboardRecorderFromEvdev(KeyboardRecorder):
start_time = now
elapsed_ms = int((now - start_time).total_seconds() * 1000)
data.append((self.KEYS[event.code], elapsed_ms))
clear_screen()
sys.stdout.write('%s\r' % (' '.join(datum[0] for datum in data)))
return (data, None)
InputSource = Enum('InputSource', 'EVDEV CONSOLE')

View File

@@ -15,6 +15,7 @@
# limitations under the License.
import time
import sys
class Measure():
def __init__(self, tag):
@@ -26,3 +27,8 @@ class Measure():
def __exit__(self, type, value, traceback):
now = time.time()
print('[{0}] {1} ms'.format(self._tag, (now - self._start)*1E3))
def clear_screen():
sys.stdout.write('\033[2J')
sys.stdout.write('\033[H')
sys.stdout.flush()