diff --git a/sys/persistent.py b/sys/persistent.py index 7e4acca..eac50b1 100644 --- a/sys/persistent.py +++ b/sys/persistent.py @@ -1,4 +1,5 @@ import shelve +import base64 from threading import Lock class PersistentContainer(object): @@ -83,6 +84,7 @@ class PersistentContainer(object): def __getitem__(self, name): key = name+"."+self.namespace + key = base64.b64encode(key) if key in self.dic: return self.dic[key] return None @@ -103,17 +105,20 @@ class PersistentContainer(object): def __contains__(self,name): key = name+"."+self.namespace + key = base64.b64encode(key) return key in self.dic def _write(self): for name in self.trans_cache.keys(): key = name+"."+self.namespace + key = base64.b64encode(key) val = self.trans_cache[name] self.dic[key]=val del self.trans_cache[name] while len(self.trans_del): name = self.trans_del.pop() key = name+"."+self.namespace + key = base64.b64encode(key) del self.dic[key] self.dic.sync()