b64 encode keys in PersistentContainer

master
Stefan Krulj 14 years ago
parent de2ef57c41
commit 31c55f2238
  1. 5
      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()

Loading…
Cancel
Save