The CompressionRegistry manages the mapping of pyzim.compression.CompressionType -> pyzim.compression.BaseCompressionInterface.
It allows compression interfaces to dynamically register themselves to this class. Multiple interfaces can be registered for each compression type.
| Class Method | get |
Return a compression interface for the specified compression type. |
| Class Method | has |
Check if a compression interface has been registered for the specfied compression type. |
| Class Method | iter |
Iterate over each registered compression interface for the specified compression type. |
| Class Method | register |
Register a new interface for the specified compression type. |
| Class Method | unregister |
Unregister a interface for the specified compression type. |
| Method | __init__ |
A fake constructor. Do not instantiate this class. |
| Class Variable | _interfaces |
Undocumented |
Return a compression interface for the specified compression type.
| Parameters | |
compressionpyzim.compression.CompressionType | compression type to get an interface for. |
| Returns | |
a subclass of pyzim.compression.BaseCompressionInterface | the interface for that compression type |
| Raises | |
pyzim.exceptions.UnsupportedCompressionType | if no compression interface know the specified compression type. |
Check if a compression interface has been registered for the specfied compression type.
| Parameters | |
compressionpyzim.compression.CompressionType | compression type to check. |
| Returns | |
bool | True if an interface has been registered for the specified compression type |
Iterate over each registered compression interface for the specified compression type.
| Yields | |
a subclass of pyzim.compression.BaseCompressionInterface | the registered compression interfaces for the specified compression type |
Register a new interface for the specified compression type.
| Parameters | |
compressionpyzim.compression.CompressionType | compression type to register the interface for. |
interface:a subclass of pyzim.compression.BaseCompressionInterface | the interface that should be registered. |
Unregister a interface for the specified compression type.
If compression_type is None, unregister for all interfaces. If interface is None, unregister all interfaces for the compression type.
| Parameters | |
compressionpyzim.compression.CompressionType or None | compression type to unregister the interface from. |
interface:a subclass of pyzim.compression.BaseCompressionInterface or None | the interface that should be unregistered. |