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

Method _generate_toc

Lib/mailbox.py:970–996  ·  view source on GitHub ↗

Generate key-to-(start, stop) table of contents.

(self)

Source from the content-addressed store, hash-verified

968 f.write(linesep + b'\001\001\001\001' + linesep)
969
970 def _generate_toc(self):
971 """Generate key-to-(start, stop) table of contents."""
972 starts, stops = [], []
973 self._file.seek(0)
974 next_pos = 0
975 while True:
976 line_pos = next_pos
977 line = self._file.readline()
978 next_pos = self._file.tell()
979 if line.startswith(b'\001\001\001\001' + linesep):
980 starts.append(next_pos)
981 while True:
982 line_pos = next_pos
983 line = self._file.readline()
984 next_pos = self._file.tell()
985 if line == b'\001\001\001\001' + linesep:
986 stops.append(line_pos - len(linesep))
987 break
988 elif not line:
989 stops.append(line_pos)
990 break
991 elif not line:
992 break
993 self._toc = dict(enumerate(zip(starts, stops)))
994 self._next_key = len(self._toc)
995 self._file.seek(0, 2)
996 self._file_length = self._file.tell()
997
998
999class MH(Mailbox):

Callers

nothing calls this directly

Calls 6

enumerateFunction · 0.85
seekMethod · 0.45
readlineMethod · 0.45
tellMethod · 0.45
startswithMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected