class documentation

A variant of SimplePointerList that reads pointers always from the disk.

This should be more RAM efficient, but beware that it is likely quite slow.

Class Method from_bytes Load a pointer list from the provided bytestring
Class Method from_file Load a pointer list from a file.
Class Method from_zim_entry Load a pointer list from an entry inside a ZIM archive.
Class Method from_zim_file Load a pointer list from a ZIM file at the specified offset.
Class Method new Instantiate a new, empty pointerlist.
Method __init__ The default constructor.
Method __len__ The length of this pointer list.
Method get_by_index Return the pointer for the specified index.
Instance Variable mutable Undocumented
Instance Variable _item_size the size of each item in this list in bytes
Instance Variable _n amount of entries in this pointerlist
Instance Variable _offset offset of this pointerlist in the zim file
Instance Variable _zim zim this pointer list is part of

Inherited from SimplePointerList:

Method __getitem__ Get the pointer at the specified index.
Method append Append a pointer to the end of pointerlist.
Method get_by_pointer Return the index of pointer in this list.
Method get_disk_size Calculate the size of this object when written to a file.
Method iter_pointers Iterate over all pointers in this pointer list.
Method mass_update Perform a mass update on all pointers in the specified range, changing their value as specified.
Method remove_by_index Remove the pointer at the specified index.
Method set Set the pointer at the specified index.
Method to_bytes Dump this pointer list into a bytestring and return it.
Constant POINTER_FORMAT format of a single pointer
Instance Variable _lock Undocumented
Instance Variable _pointers list of pointers in this pointer list

Inherited from ModifiableMixIn (via SimplePointerList):

Method add_submodifiable Add another modifiable object as a child of this one.
Method after_flush_or_read This method should be called after this object has been read and/or flushed to disk. In other words, it should be called at least once whenever this object matches the state of the object on the disk.
Method dirty.setter Setter for ModifiableMixIn.dirty
Method ensure_mutable If this object is non-mutable, raise an Exception.
Method get_initial_disk_size Return the size of this object on disk as it has been read.
Method get_unmodified_disk_size Return the size of this object when written to a file before any modifications has been made since the last read/flush.
Method mark_dirty Convenience function to mark this object as dirty.
Method remove_submodifiable Remove a submodifiable from this object.
Instance Variable dirty True if this object or a sub-modifiable has been modified.
Instance Variable _dirty a boolean flag that's nonzero if this object has been modified
Instance Variable _old_disk_size the size of this object on disk before any modifications since the last flush/read
Instance Variable _submodifiables a list of child objects, whose dirty state will affect this objects dirty state.
def from_bytes(cls, s):

Load a pointer list from the provided bytestring

NOTE: it is not possible to validate that the string contains the whole pointer list.

Parameters
s:bytesbytestring to parse
Returns
pyzim.pointerlist.SimplePointerListthe pointerlist parsed from the bytes
def from_file(cls, f, n, seek=None):

Load a pointer list from a file.

Parameters
f:file-likefile-like object to read from
n:intnumber of entries in the pointer list.
seek:int or Noneif specified, seek this position of the file before reading
Returns
pyzim.pointerlist.SimplePointerListthe pointerlist read from the file
def from_zim_entry(cls, zim, full_url):

Load a pointer list from an entry inside a ZIM archive.

NOTE: it is not possible to validate that the string contains the whole pointer list.

Parameters
zim:pyzim.archive.ZimZIM file to read from
full_url:strfull url of entry to read pointerlist from
Returns
pyzim.pointerlist.SimplePointerListthe pointerlist parsed from the bytes
def from_zim_file(cls, zim, n, seek=None):

Load a pointer list from a ZIM file at the specified offset.

This usually acquires the file lock and calls SimplePointerList.from_file, but subclasses may behave differently.

Parameters
zim:pyzim.archive.ZimZIM file to read from
n:intnumber of entries in the pointer list.
seek:int or Noneif specified, seek this position of the file before reading
Returns
pyzim.pointerlist.SimplePointerListthe pointerlist read from the file
def new(cls):

Instantiate a new, empty pointerlist.

Returns
SimplePointerLista new, empty pointerlist
def __init__(self, zim, offset, n):

The default constructor.

Parameters
zim:pyzim.archive.Zimzim this pointer list is part of
offset:intoffset of this pointerlist in the zim file
n:intamount of entries in this pointerlist
def __len__(self):

The length of this pointer list.

Returns
intthe length of this pointer list
def get_by_index(self, i):

Return the pointer for the specified index.

Parameters
i:intindex of pointer to get
Returns
intthe poiner with the specified index
Raises
IndexErrorwhen the index is out of bounds.
mutable: bool =
_item_size: int =

the size of each item in this list in bytes

_n: int =

amount of entries in this pointerlist

_offset: int =

offset of this pointerlist in the zim file

zim this pointer list is part of