def _parse_spec(self, spec): """Overrides the normal Text class behavior. To handle dictation of special characters like / . _ Unfortunately, I have not found a better place to solve this. """ events = [] try: parts = re.split("\%\([a-z_0-9]+\)s", self._spec) if len(parts) > 2: raise Exception("SCText only supports one variable, yet.") start = len(parts[0]) end = len(spec) - len(parts[1]) words = spec[start:end] words = lib.format.strip_dragon_info(words) newText = "" for word in words: if (newText != "" and newText[-1:].isalnum() and word[-1:].isalnum()): word = " " + word # Adds spacing between normal words. newText += word spec = parts[0] + newText + parts[1] if should_send_to_aenea(): return spec for character in spec: if character in self._specials: typeable = self._specials[character] else: typeable = Keyboard.get_typeable(character) events.extend(typeable.events(self._pause)) except Exception as e: print self._spec, parts print("Error: %s" % e) return events
def _parse_spec(self, spec): """Overrides the normal Text class behavior. To handle dictation of special characters like / . _ Unfortunately, I have not found a better place to solve this. """ parts = re.split("\%\([a-z_0-9]+\)s", self._spec) if len(parts) > 2: raise Exception("SCText only supports one variable, yet.") start = len(parts[0]) end = len(spec) - len(parts[1]) work = spec[start:end] for text, char in specialCharacterTranslations.items(): work = work.replace(" %s " % text, char) work = work.replace(" %s" % text, char) work = work.replace("%s " % text, char) work = work.replace("%s" % text, char) spec = parts[0] + work + parts[1] if config.get("aenea.enabled", False) == True: return spec events = [] for character in spec: if character in self._specials: typeable = self._specials[character] else: typeable = Keyboard.get_typeable(character) events.extend(typeable.events(self._pause)) return events
def _parse_spec(self, spec): """Overrides the normal Text class behavior. To handle dictation of special characters like / . _ Unfortunately, I have not found a better place to solve this. """ events = [] try: parts = re.split("\%\([a-z_0-9]+\)s", self._spec) if len(parts) > 2: raise Exception("SCText only supports one variable, yet.") start = len(parts[0]) end = len(spec) - len(parts[1]) words = spec[start:end] words = strip_dragon_info(words) newText = "" for word in words: if (newText != "" and newText[-1:].isalnum() and word[-1:].isalnum()): word = " " + word # Adds spacing between normal words. newText += word spec = parts[0] + newText + parts[1] for character in spec: if character in self._specials: typeable = self._specials[character] else: typeable = Keyboard.get_typeable(character) events.extend(typeable.events(self._pause)) except Exception as e: print self._spec, parts print("Error: %s" % e) return events
def _parse_spec(self, spec): """ Convert the given *spec* to keyboard events. """ events = [] for character in spec: if character in self._specials: typeable = self._specials[character] else: typeable = Keyboard.get_typeable(character) events.extend(typeable.events(self._pause)) return events
def _parse_spec(self, spec): """Overrides the normal Text class behavior. To handle dictation of special characters like / . _ """ for text, char in normalTextTranslations.items(): spec = spec.replace(" %s " % text, char) spec = spec.replace(" %s" % text, char) spec = spec.replace("%s " % text, char) spec = spec.replace("%s" % text, char) events = [] for character in spec: if character in self._specials: typeable = self._specials[character] else: typeable = Keyboard.get_typeable(character) events.extend(typeable.events(self._pause)) return events