def __call__(self, record):
rec_num = recno(record)
key = self.key(record)
if rec_num in self._records:
if self._records[rec_num] == key:
return
old_key = self._records[rec_num]
vindex = bisect_left(self._values, old_key)
self._values.pop(vindex)
self._rec_by_val.pop(vindex)
del self._records[rec_num]
assert rec_num not in self._records
if key == (DoNotIndex, ):
return
vindex = bisect_right(self._values, key)
self._values.insert(vindex, key)
self._rec_by_val.insert(vindex, rec_num)
self._records[rec_num] = key
评论列表
文章目录