Changeset View
Changeset View
Standalone View
Standalone View
swh/objstorage/multiplexer/filter/id_filter.py
Show All 31 Lines | def __contains__(self, obj_id, *args, **kwargs): | ||||
return False | return False | ||||
def __len__(self): | def __len__(self): | ||||
return sum(1 for i in [id for id in self.storage if self.is_valid(id)]) | return sum(1 for i in [id for id in self.storage if self.is_valid(id)]) | ||||
def __iter__(self): | def __iter__(self): | ||||
yield from filter(lambda id: self.is_valid(id), iter(self.storage)) | yield from filter(lambda id: self.is_valid(id), iter(self.storage)) | ||||
def add(self, content, obj_id=None, check_presence=True, *args, **kwargs): | def add(self, content, obj_id, check_presence=True, *args, **kwargs): | ||||
if obj_id is None: | |||||
obj_id = compute_hash(content) | |||||
if self.is_valid(obj_id): | if self.is_valid(obj_id): | ||||
return self.storage.add(content, *args, obj_id=obj_id, **kwargs) | return self.storage.add(content, *args, obj_id=obj_id, **kwargs) | ||||
def restore(self, content, obj_id=None, *args, **kwargs): | def restore(self, content, obj_id=None, *args, **kwargs): | ||||
if obj_id is None: | if obj_id is None: | ||||
obj_id = compute_hash(content) | obj_id = compute_hash(content) | ||||
if self.is_valid(obj_id): | if self.is_valid(obj_id): | ||||
return self.storage.restore(content, *args, obj_id=obj_id, **kwargs) | return self.storage.restore(content, *args, obj_id=obj_id, **kwargs) | ||||
Show All 39 Lines |