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

Method _generate_toc

Lib/mailbox.py:1408–1436  ·  view source on GitHub ↗

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

(self)

Source from the content-addressed store, hash-verified

1406 return list(labels)
1407
1408 def _generate_toc(self):
1409 """Generate key-to-(start, stop) table of contents."""
1410 starts, stops = [], []
1411 self._file.seek(0)
1412 next_pos = 0
1413 label_lists = []
1414 while True:
1415 line_pos = next_pos
1416 line = self._file.readline()
1417 next_pos = self._file.tell()
1418 if line == b'\037\014' + linesep:
1419 if len(stops) < len(starts):
1420 stops.append(line_pos - len(linesep))
1421 starts.append(next_pos)
1422 labels = [label.strip() for label
1423 in self._file.readline()[1:].split(b',')
1424 if label.strip()]
1425 label_lists.append(labels)
1426 elif line == b'\037' or line == b'\037' + linesep:
1427 if len(stops) < len(starts):
1428 stops.append(line_pos - len(linesep))
1429 elif not line:
1430 stops.append(line_pos - len(linesep))
1431 break
1432 self._toc = dict(enumerate(zip(starts, stops)))
1433 self._labels = dict(enumerate(label_lists))
1434 self._next_key = len(self._toc)
1435 self._file.seek(0, 2)
1436 self._file_length = self._file.tell()
1437
1438 def _pre_mailbox_hook(self, f):
1439 """Called before writing the mailbox to file f."""

Callers

nothing calls this directly

Calls 8

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

Tested by

no test coverage detected