def read(self, size=-1):
        if self._remaining <= 0:
            return ''

        to_read = self._remaining if size < 0 else min(size, self._remaining)
        chunk = self._readable.read(to_read)
        self._remaining -= len(chunk)

        try:
            self.md5sum.update(chunk)
        except __HOLE__:
            self.md5sum.update(chunk.encode())

        return chunk
dataset/ETHPy150Open openstack/python-swiftclient/swiftclient/utils.py/LengthWrapper.read