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}
def get_suggestions(self, translation, **kwargs): return Suggestions(self._dictionaries).find(translation, **kwargs)
def set_dictionaries(self, file_names): dictionary = self.translator.get_dictionary() dicts = dict_manager.load(file_names) dictionary.set_dicts(dicts) self.suggestions = Suggestions(dictionary)