示例#1
0
    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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#5
0
文件: action_text.py 项目: namewr/vcc
 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):
     """ 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
示例#7
0
    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
示例#8
0
    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