Пример #1
0
    def _read(self):
        length = self.list_start()
        token = self.peek_int8()

        if token == 0x01:
            self._consume(1)
            attributes = self.attributes(length)
            return Node("start", **attributes)
        elif token == 0x02:
            self._consume(1)
            raise EndOfStream()

        node = Node(self.string())
        node.attributes = self.attributes(length)

        if (length % 2) == 0:
            token = self.peek_int8()

            if token == 0xf8 or token == 0xf9:
                node.children = self.list()
            else:
                node.data = self.string()

        return node
Пример #2
0
    def _read(self):
        length = self.list_start()

        token = self._peek(1)
        if token == "\x01":
            self._consume(1)
            attributes = self.attributes(length)
            return Node("start", **attributes)

        if token == "\x02":
            self._consume(1)
            raise EndOfStream()

        node = Node(self.string())
        node.attributes = self.attributes(length)

        if (length % 2) == 0:
            token = self._peek(1)
            if token == "\xF8" or token == "\xF9":
                node.children = self.list()
            else:
                node.data = self.string()

        return node
Пример #3
0
    def _read(self):
        length = self.list_start()

        token = self._peek(1)
        if token == "\x01":
            self._consume(1)
            attributes = self.attributes(length)
            return Node("start", **attributes)

        if token == "\x02":
            self._consume(1)
            raise EndOfStream()

        node = Node(self.string())
        node.attributes = self.attributes(length)

        if (length % 2) == 0:
            token = self._peek(1)
            if token == "\xF8" or token == "\xF9":
                node.children = self.list()
            else:
                node.data = self.string()

        return node
Пример #4
0
    def _read(self):
        length = self.list_start()
        token = self.peek_int8()

        if token == 0x01:
            self._consume(1)
            attributes = self.attributes(length)
            return Node("start", **attributes)
        elif token == 0x02:
            self._consume(1)
            raise EndOfStream()

        node = Node(self.string())
        node.attributes = self.attributes(length)

        if (length % 2) == 0:
            token = self.peek_int8()

            if token == 0xf8 or token == 0xf9:
                node.children = self.list()
            else:
                node.data = self.string()

        return node