def _read(self, size):
if self.comptype == "<STR_LIT>":<EOL><INDENT>return self.__read(size)<EOL><DEDENT>c = len(self.dbuf)<EOL>while c < size:<EOL><INDENT>buf = self.__read(self.bufsize)<EOL>if not buf:<EOL><INDENT>break<EOL><DEDENT>try:<EOL><INDENT>buf = self.cmp.decompress(buf)<EOL><DEDENT>except IOError:<EOL><INDENT>raise ReadError("<STR_LIT>")<EOL><DEDENT>self.dbuf += buf<EOL>c += len(buf)<EOL><DEDENT>buf = self.dbuf[:size]<EOL>self.dbuf = self.dbuf[size:]<EOL>return buf<EOL>
Return size bytes from the stream.