mirror of
https://github.com/google/mozc-devices.git
synced 2025-11-08 16:53:28 +03:00
Merge pull request #21 from google/cli-output
Refresh CLI output by input.
This commit is contained in:
@@ -31,8 +31,10 @@ LED_CHASSIS.off()
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import unicodedata
|
||||
from nazoru import get_default_graph_path
|
||||
from nazoru.core import create_keyboard_recorder, Bluetooth, NazoruPredictor
|
||||
from nazoru.core import (
|
||||
create_keyboard_recorder, Bluetooth, NazoruPredictor, clear_screen)
|
||||
|
||||
def main():
|
||||
FLAGS = None
|
||||
@@ -60,7 +62,7 @@ def main():
|
||||
LED_BLUE.blink(1)
|
||||
LED_CHASSIS.set_brightness(5)
|
||||
|
||||
print('Ready. Please input your scrrible.')
|
||||
print('Ready. Please scrrible on your keyboard.')
|
||||
while True:
|
||||
data, command = recorder.record()
|
||||
if command is not None:
|
||||
@@ -86,13 +88,19 @@ def main():
|
||||
LED_RED.off()
|
||||
LED_CHASSIS.set_brightness(5)
|
||||
|
||||
print('\n=== RESULTS ===')
|
||||
clear_screen()
|
||||
print('\n===== RESULTS =====')
|
||||
for item in result:
|
||||
print(u'%s (%s): %.5f' % (item[0], item[1], item[2]))
|
||||
print('===============\n')
|
||||
if unicodedata.east_asian_width(item[0]) in {'W', 'F'}:
|
||||
surface = item[0]
|
||||
else:
|
||||
surface = item[0] + ' '
|
||||
print(u'%s (%4s): %.5f' % (surface, item[1], item[2]))
|
||||
print('===================\n')
|
||||
|
||||
most_likely_result = result[0]
|
||||
print(u'%s (%s)' % (most_likely_result[0], most_likely_result[1]))
|
||||
print(u'prediction: %s (%s)' % (
|
||||
most_likely_result[0], most_likely_result[1]))
|
||||
bt_connection.send(most_likely_result[1])
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user