MCPcopy Index your code
hub / github.com/RustPython/RustPython / __iter__

Method __iter__

Lib/tarfile.py:2961–2990  ·  view source on GitHub ↗

Provide an iterator object.

(self)

Source from the content-addressed store, hash-verified

2959 return member
2960
2961 def __iter__(self):
2962 """Provide an iterator object.
2963 """
2964 if self._loaded:
2965 yield from self.members
2966 return
2967
2968 # Yield items using TarFile's next() method.
2969 # When all members have been read, set TarFile as _loaded.
2970 index = 0
2971 # Fix for SF #1100429: Under rare circumstances it can
2972 # happen that getmembers() is called during iteration,
2973 # which will have already exhausted the next() method.
2974 if self.firstmember is not None:
2975 tarinfo = self.next()
2976 index += 1
2977 yield tarinfo
2978
2979 while True:
2980 if index < len(self.members):
2981 tarinfo = self.members[index]
2982 elif not self._loaded:
2983 tarinfo = self.next()
2984 if not tarinfo:
2985 self._loaded = True
2986 return
2987 else:
2988 return
2989 index += 1
2990 yield tarinfo
2991
2992 def _dbg(self, level, msg):
2993 """Write debugging output to sys.stderr.

Callers

nothing calls this directly

Calls 2

nextMethod · 0.95
lenFunction · 0.85

Tested by

no test coverage detected