def unpack(cls, buffer): parent = PageHeader.unpack(buffer) brepr = cls.binrepr(buffer) (numSlots, slotBuffer) = brepr.unpack_from(buffer, offset=PageHeader.size) return cls(parent=parent, buffer=buffer, \ numSlots=numSlots, slots=slotBuffer, unpacked=True)
def unpack(cls, buffer): pageHeader = PageHeader.unpack(buffer) numSlots = Struct("H").unpack_from(buffer, offset=PageHeader.size)[0] slots = Struct("H"+str(math.ceil(0.125*numSlots))+"s").unpack_from(buffer, offset=PageHeader.size)[1] slots = memoryview(bytearray(slots)) return cls(flags=pageHeader.flags, tupleSize=pageHeader.tupleSize, buffer=buffer, numSlots=numSlots, slots=slots)