def __init__(self, config, controller, keyboard_emulation): self._config = config self._controller = controller self._is_running = False self._queue = Queue() self._lock = threading.RLock() self._machine = None self._machine_state = None self._machine_params = MachineParams(None, None, None) self._formatter = Formatter() self._formatter.set_output( Formatter.output_type( self._send_backspaces, self._send_string, self._send_key_combination, self._send_engine_command, )) self._formatter.add_listener(self._on_translated) self._translator = Translator() self._translator.add_listener(log.translation) self._translator.add_listener(self._formatter.format) self._dictionaries = self._translator.get_dictionary() self._dictionaries_manager = DictionaryLoadingManager() self._running_state = self._translator.get_state() self._keyboard_emulation = keyboard_emulation self._hooks = {hook: [] for hook in self.HOOKS} self._running_extensions = {}
def translate_log(self, engine, log, edits): formatter = Formatter() formatter.set_output(self) formatter.start_attached = True formatter.start_capitalized = True translator = Translator() translator.set_min_undo_length(100) translator.add_listener(formatter.format) with engine: translator.set_dictionary(engine.dictionaries) for i in range(len(log)): stroke = log[i] self.minimum_pos = len(self.text) translator.translate(stroke) j = i - 1 while j > 0 and log[j].start_pos > self.minimum_pos: log[j].start_pos = self.minimum_pos j = j - 1 stroke.start_pos = self.minimum_pos stroke.end_pos = len(self.text) edit = edits.get(i, None) if not (edit is None): self.text = self.text[:self.minimum_pos] + edit return self.text
def setUp(self): self.output = CaptureOutput() self.formatter = Formatter() self.formatter.set_output(self.output) self.translator = Translator() self.translator.set_min_undo_length(100) self.translator.add_listener(self.formatter.format) self.dictionary = self.translator.get_dictionary() self.dictionary.set_dicts([StenoDictionary()])
def blackbox_setup(blackbox): blackbox.output = CaptureOutput() blackbox.formatter = Formatter() blackbox.formatter.set_output(blackbox.output) blackbox.translator = Translator() blackbox.translator.set_min_undo_length(100) blackbox.translator.add_listener(blackbox.formatter.format) blackbox.dictionary = blackbox.translator.get_dictionary() blackbox.dictionary.set_dicts([StenoDictionary()])
def setUp(self): self.output = CaptureOutput() self.formatter = Formatter() self.formatter.set_output(self.output) self.translator = Translator() self.translator.add_listener(self.formatter.format) self.dictionary = self.translator.get_dictionary() dictionary = StenoDictionary() dictionary.save = lambda: None self.dictionary.set_dicts([dictionary])
def __init__(self, config, keyboard_emulation): self._config = config self._is_running = False self._queue = Queue() self._lock = threading.RLock() self._machine = None self._machine_state = None self._machine_params = MachineParams(None, None, None) self._formatter = Formatter() self._formatter.set_output(self) self._formatter.add_listener(self._on_translated) self._translator = Translator() self._translator.add_listener(log.translation) self._translator.add_listener(self._formatter.format) self._dictionaries = self._translator.get_dictionary() self._dictionaries_manager = DictionaryLoadingManager() self._running_state = self._translator.get_state() self._suggestions = Suggestions(self._dictionaries) self._keyboard_emulation = keyboard_emulation self._hooks = {hook: [] for hook in self.HOOKS}