Пример #1
0
 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 = {}
Пример #2
0
    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
Пример #3
0
 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()])
Пример #4
0
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])
Пример #6
0
 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}