def __setitem__(self, cpv, values): """set a cpv to values This shouldn't be overriden in derived classes since it handles the readonly checks""" if self.readonly: raise cache_errors.ReadOnlyRestriction() d = None if self.cleanse_keys: d=ProtectedDict(values) for k, v in list(d.items()): if not v: del d[k] if "_eclasses_" in values: if d is None: d = ProtectedDict(values) if self.serialize_eclasses: d["_eclasses_"] = serialize_eclasses(d["_eclasses_"], self.validation_chf, paths=self.store_eclass_paths) else: d["_eclasses_"] = self._internal_eclasses(d["_eclasses_"], self.validation_chf, self.store_eclass_paths) elif d is None: d = values self._setitem(cpv, d) if not self.autocommits: self.updates += 1 if self.updates > self.sync_rate: self.commit() self.updates = 0
def __setitem__(self, cpv, values): """set a cpv to values This shouldn't be overriden in derived classes since it handles the readonly checks""" if self.readonly: raise cache_errors.ReadOnlyRestriction() d = None if self.cleanse_keys: d = ProtectedDict(values) for k, v in list(item for item in d.items() if item[0] != "_eclasses_"): if not v: del d[k] if "_eclasses_" in values: if d is None: d = ProtectedDict(values) if self.serialize_eclasses: d["_eclasses_"] = serialize_eclasses( d["_eclasses_"], self.validation_chf, paths=self.store_eclass_paths) else: d["_eclasses_"] = self._internal_eclasses( d["_eclasses_"], self.validation_chf, self.store_eclass_paths) elif d is None: d = values self._setitem(cpv, d) if not self.autocommits: self.updates += 1 if self.updates > self.sync_rate: self.commit() self.updates = 0
def __setitem__(self, cpv, values): """set a cpv to values This shouldn't be overriden in derived classes since it handles the readonly checks""" if self.readonly: raise cache_errors.ReadOnlyRestriction() if self.cleanse_keys: d = ProtectedDict(values) for k, v in list(d.items()): if not v: del d[k] if self.serialize_eclasses and "_eclasses_" in values: d["_eclasses_"] = serialize_eclasses(d["_eclasses_"]) elif self.serialize_eclasses and "_eclasses_" in values: d = ProtectedDict(values) d["_eclasses_"] = serialize_eclasses(d["_eclasses_"]) else: d = values self._setitem(cpv, d) if not self.autocommits: self.updates += 1 if self.updates > self.sync_rate: self.commit() self.updates = 0