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
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