MCPcopy Index your code
hub / github.com/python/cpython / __iter__

Method __iter__

Lib/tarfile.py:2986–3015  ·  view source on GitHub ↗

Provide an iterator object.

(self)

Source from the content-addressed store, hash-verified

2984 return member
2985
2986 def __iter__(self):
2987 """Provide an iterator object.
2988 """
2989 if self._loaded:
2990 yield from self.members
2991 return
2992
2993 # Yield items using TarFile's next() method.
2994 # When all members have been read, set TarFile as _loaded.
2995 index = 0
2996 # Fix for SF #1100429: Under rare circumstances it can
2997 # happen that getmembers() is called during iteration,
2998 # which will have already exhausted the next() method.
2999 if self.firstmember is not None:
3000 tarinfo = self.next()
3001 index += 1
3002 yield tarinfo
3003
3004 while True:
3005 if index < len(self.members):
3006 tarinfo = self.members[index]
3007 elif not self._loaded:
3008 tarinfo = self.next()
3009 if not tarinfo:
3010 self._loaded = True
3011 return
3012 else:
3013 return
3014 index += 1
3015 yield tarinfo
3016
3017 def _dbg(self, level, msg):
3018 """Write debugging output to sys.stderr.

Callers

nothing calls this directly

Calls 1

nextMethod · 0.95

Tested by

no test coverage detected