swh.vault.cookers.directory module#

class swh.vault.cookers.directory.DirectoryCooker(swhid: CoreSWHID, backend, storage: StorageInterface, graph=None, objstorage: ObjStorageInterface | None = None, max_bundle_size: int = 536870912, thread_pool_size: int = 10)[source]#

Bases: BaseVaultCooker

Cooker to create a directory bundle

Initialize the cooker.

The type of the object represented by the id depends on the concrete class. Very likely, each type of bundle will have its own cooker class.

Parameters:
  • swhid – id of the object to be cooked into a bundle.

  • backend – the vault backend (swh.vault.backend.VaultBackend).

BUNDLE_TYPE: ClassVar[str] = 'flat'#
SUPPORTED_OBJECT_TYPES: ClassVar[Set[swh.model.swhids.ObjectType]] = {ObjectType.DIRECTORY}#
check_exists()[source]#

Checks that the requested object exists and can be cooked.

Override this in the cooker implementation.

prepare_bundle()[source]#

Implementation of the cooker. Yields chunks of the bundle bytes.

Override this with the cooker implementation.