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:1334–1362  ·  view source on GitHub ↗

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

(self)

Source from the content-addressed store, hash-verified

1332 return list(labels)
1333
1334 def _generate_toc(self):
1335 """Generate key-to-(start, stop) table of contents."""
1336 starts, stops = [], []
1337 self._file.seek(0)
1338 next_pos = 0
1339 label_lists = []
1340 while True:
1341 line_pos = next_pos
1342 line = self._file.readline()
1343 next_pos = self._file.tell()
1344 if line == b'\037\014' + linesep:
1345 if len(stops) < len(starts):
1346 stops.append(line_pos - len(linesep))
1347 starts.append(next_pos)
1348 labels = [label.strip() for label
1349 in self._file.readline()[1:].split(b',')
1350 if label.strip()]
1351 label_lists.append(labels)
1352 elif line == b'\037' or line == b'\037' + linesep:
1353 if len(stops) < len(starts):
1354 stops.append(line_pos - len(linesep))
1355 elif not line:
1356 stops.append(line_pos - len(linesep))
1357 break
1358 self._toc = dict(enumerate(zip(starts, stops)))
1359 self._labels = dict(enumerate(label_lists))
1360 self._next_key = len(self._toc)
1361 self._file.seek(0, 2)
1362 self._file_length = self._file.tell()
1363
1364 def _pre_mailbox_hook(self, f):
1365 """Called before writing the mailbox to file f."""

Callers

nothing calls this directly

Calls 7

enumerateFunction · 0.85
stripMethod · 0.80
seekMethod · 0.45
readlineMethod · 0.45
tellMethod · 0.45
appendMethod · 0.45
splitMethod · 0.45

Tested by

no test coverage detected