From e754d160006d75abf86f2a5157e7ed8c9e87b5fb Mon Sep 17 00:00:00 2001 From: Goffi Date: Sun, 22 Mar 2020 18:35:22 +0100 Subject: [PATCH] core (memory/persistent): implemented `aset` and `adel`: those methods are async variants of __setitem__ and __delitem__, they return a Deferred fired when the value is actually set/removed from storage. --- sat/memory/persistent.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sat/memory/persistent.py b/sat/memory/persistent.py index f3a791c5..2a6e4577 100644 --- a/sat/memory/persistent.py +++ b/sat/memory/persistent.py @@ -127,6 +127,18 @@ class PersistentDict(object): def get(self, key, default=None): return self._cache.get(key, default) + def aset(self, key, value): + """Async set, return a Deferred fired when value is actually stored""" + self._cache.__setitem__(key, value) + return self.storage.setPrivateValue(self.namespace, key, value, + self.binary, self.profile) + + def adel(self, key): + """Async del, return a Deferred fired when value is actually deleted""" + self._cache.__delitem__(key) + return self.storage.delPrivateValue( + self.namespace, key, self.binary, self.profile) + def setdefault(self, key, default): try: return self._cache[key]