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

Method _generate_toc

Lib/mailbox.py:913–944  ·  view source on GitHub ↗

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

(self)

Source from the content-addressed store, hash-verified

911 f.write(linesep)
912
913 def _generate_toc(self):
914 """Generate key-to-(start, stop) table of contents."""
915 starts, stops = [], []
916 last_was_empty = False
917 self._file.seek(0)
918 while True:
919 line_pos = self._file.tell()
920 line = self._file.readline()
921 if line.startswith(b'From '):
922 if len(stops) < len(starts):
923 if last_was_empty:
924 stops.append(line_pos - len(linesep))
925 else:
926 # The last line before the "From " line wasn't
927 # blank, but we consider it a start of a
928 # message anyway.
929 stops.append(line_pos)
930 starts.append(line_pos)
931 last_was_empty = False
932 elif not line:
933 if last_was_empty:
934 stops.append(line_pos - len(linesep))
935 else:
936 stops.append(line_pos)
937 break
938 elif line == linesep:
939 last_was_empty = True
940 else:
941 last_was_empty = False
942 self._toc = dict(enumerate(zip(starts, stops)))
943 self._next_key = len(self._toc)
944 self._file_length = self._file.tell()
945
946
947class MMDF(_mboxMMDF):

Callers 1

_lookupMethod · 0.45

Calls 7

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

Tested by

no test coverage detected