From 31c55f2238ae7e3a39f2d89a6e8b636fbfb10c66 Mon Sep 17 00:00:00 2001 From: Stefan Krulj Date: Sat, 20 Oct 2012 14:55:01 +0200 Subject: [PATCH] b64 encode keys in PersistentContainer --- sys/persistent.py | 5 +++++ 1 file changed, 5 insertions(+) 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()