370
366
"""Index by sequence id returns the index field"""
371
367
## TODO: Can avoid seek if we just moved there...
380
372
def _seek_index(self, idx):
382
374
raise RevfileError("invalid index %r" % idx)
383
375
self.idxfile.seek((idx + 1) * _RECORDSIZE)
400
378
def _read_next_index(self):
401
379
rec = self.idxfile.read(_RECORDSIZE)
404
382
elif len(rec) != _RECORDSIZE:
405
383
raise RevfileError("short read of %d bytes getting index %d from %r"
406
384
% (len(rec), idx, self.basename))