MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / _generate_toc

Method _generate_toc

tools/python-3.11.9-amd64/Lib/mailbox.py:907–933  ·  view source on GitHub ↗

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

(self)

Source from the content-addressed store, hash-verified

905 f.write(linesep + b'\001\001\001\001' + linesep)
906
907 def _generate_toc(self):
908 """Generate key-to-(start, stop) table of contents."""
909 starts, stops = [], []
910 self._file.seek(0)
911 next_pos = 0
912 while True:
913 line_pos = next_pos
914 line = self._file.readline()
915 next_pos = self._file.tell()
916 if line.startswith(b'\001\001\001\001' + linesep):
917 starts.append(next_pos)
918 while True:
919 line_pos = next_pos
920 line = self._file.readline()
921 next_pos = self._file.tell()
922 if line == b'\001\001\001\001' + linesep:
923 stops.append(line_pos - len(linesep))
924 break
925 elif not line:
926 stops.append(line_pos)
927 break
928 elif not line:
929 break
930 self._toc = dict(enumerate(zip(starts, stops)))
931 self._next_key = len(self._toc)
932 self._file.seek(0, 2)
933 self._file_length = self._file.tell()
934
935
936class MH(Mailbox):

Callers

nothing calls this directly

Calls 6

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

Tested by

no test coverage detected