def __next__(self):
        """
        Both ``__next__`` and ``next`` are provided to allow compatibility
        with python 2 and python 3 and their use of ``iterable.next()``
        and ``next(iterable)`` respectively.
        """
        chunk = self.content.read(self.chunk_size)
        if not chunk:
            raise StopIteration

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

        return chunk
dataset/ETHPy150Open openstack/python-swiftclient/swiftclient/utils.py/ReadableToIterable.__next__