swh.objstorage.backends.in_memory module#
- class swh.objstorage.backends.in_memory.InMemoryObjStorage(**kwargs)[source]#
Bases:
ObjStorage
In-Memory objstorage.
Intended for test purposes.
- PRIMARY_HASH: LiteralPrimaryHash = 'sha1'#
- name: str = 'memory'#
Default objstorage name; can be overloaded at instantiation time giving a ‘name’ argument to the constructor
- check_config(*, check_write)[source]#
Check whether the object storage is properly configured.
- Parameters:
check_write (bool) – if True, check if writes to the object storage
succeed. (can)
- Returns:
True if the configuration check worked, False if ‘check_write’ is True and the object storage is actually read only, and an exception if the check failed.
- add(content: bytes, obj_id: ObjId, check_presence: bool = True) None [source]#
Add a new object to the object storage.
- Parameters:
content – object’s raw content to add in storage.
obj_id – either dict of checksums, or single checksum of [bytes] using [ID_HASH_ALGO] algorithm. It is trusted to match the bytes.
check_presence (bool) – indicate if the presence of the content should be verified before adding the file.
- Returns:
the id (bytes) of the object into the storage.
- get(obj_id: ObjId) bytes [source]#
Retrieve the content of a given object.
- Parameters:
obj_id – object id.
- Returns:
the content of the requested object as bytes.
- Raises:
ObjNotFoundError – if the requested object is missing.
- delete(obj_id: ObjId)[source]#
Delete an object.
- Parameters:
obj_id – object identifier.
- Raises:
ObjNotFoundError – if the requested object is missing.