def evaluateRawString(self, escaped):
        """Evaluates raw Python string like `ast.literal_eval` does"""
        unescaped = []
        hexdigit = None
        escape = False

        for char in escaped:

            number = ord(char)

            if hexdigit is not None:
                if hexdigit:
                    number = (int(hexdigit, 16) << 4) + int(char, 16)
                    hexdigit = None

                else:
                    hexdigit = char
                    continue

            if escape:
                escape = False

                try:
                    number = self.ESCAPE_CHARS[number]

                except KeyError:
                    if number == 120:
                        hexdigit = ''
                        continue

                    raise ValueError('Unknown escape character %c' % char)

            elif number == 92:  # '\'
                escape = True
                continue

            unescaped.append(number)

        return unescaped
def evaluateRawString ( self , escaped ) : unescaped = [ ] hexdigit = None escape = False for char in escaped : number = ord ( char ) if hexdigit is not None : if hexdigit : number = ( int ( hexdigit , 16 ) << 4 ) + int ( char , 16 ) hexdigit = None else : hexdigit = char continue if escape : escape = False try : number = self . ESCAPE_CHARS [ number ] except KeyError : if number == 120 : hexdigit = '' continue raise ValueError ( 'Unknown escape character %c' % char ) elif number == 92 : escape = True continue unescaped . append ( number ) return unescaped
Evaluates raw Python string like `ast.literal_eval` does