@contextmanager
    def reading(self):
        """Return a context manager that yields a readable stream.

        Here, "readable stream" means an iterator object over the elements
        of the backing store.
        """
        log.debug(self % "opening for reading: %r")
        with self.open_read() as f:
            try:
                gen = tracked(self, f)
                try:
                    yield gen
                except Exception as exc:
                    gen.throw(exc)
            finally:
                gen.close()
dataset/ETHPy150Open cjerdonek/open-rcv/openrcv/streams.py/StreamResourceBase.reading/swapped operands of `%`