Exemplo n.º 1
0
    def _configure(self):
        patterns = []
        types = []
        desc = {}
        for group, token in enumerate(self.tokens, 1):
            pattern, name = token

            numgroups = re.compile(pattern).groups
            if numgroups == 0:
                pattern = '(' + pattern + ')'
            elif numgroups != 1:
                raise ValueError('pattern does not have 0 or 1 group: ' +
                                 pattern)
            patterns.append(pattern)

            name, _, description = name.partition(':')
            if description:
                desc[name] = description
            types.append(name)

        self._re = re.compile('|'.join(patterns))
        e = IntEnum('TokenTypes', types)
        e.__str__ = lambda self, desc=desc: desc.get(self.name, self.name)
        self.tokentypes = e
Exemplo n.º 2
0
 def __str__(self) -> str:
     s = IntEnum.__str__(self)
     class_name = "%s" % self.__class__.__name__
     s = s[len(class_name) + 1:]
     s = s.replace("_", " ")
     return s.title()
Exemplo n.º 3
0
 def __str__(self) -> str:
     s = IntEnum.__str__(self)
     i = len(self.__class__.__name__)
     return s[i + 1:]
Exemplo n.º 4
0
 def __str__(self):
     rank_string = IntEnum.__str__(self)
     rank_split = rank_string.partition(".")
     return rank_split[2]
Exemplo n.º 5
0
 def __str__(self):
     suit_string = IntEnum.__str__(self)
     suit_split = suit_string.partition(".")
     return suit_split[2]