diff options
Diffstat (limited to 'pym/cache/anydbm.py')
-rw-r--r-- | pym/cache/anydbm.py | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/pym/cache/anydbm.py b/pym/cache/anydbm.py index 28d1a889e..2959e41e5 100644 --- a/pym/cache/anydbm.py +++ b/pym/cache/anydbm.py @@ -18,6 +18,7 @@ class database(fs_template.FsBased): autocommits = True cleanse_keys = True + serialize_eclasses = False def __init__(self, *args, **config): super(database,self).__init__(*args, **config) @@ -50,13 +51,9 @@ class database(fs_template.FsBased): def iteritems(self): return self.__db.iteritems() - def __getitem__(self, cpv): + def _getitem(self, cpv): # we override getitem because it's just a cpickling of the data handed in. - d = pickle.loads(self.__db[cpv]) - if "_eclasses_" in d: - d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"]) - return d - + return pickle.loads(self.__db[cpv]) def _setitem(self, cpv, values): self.__db[cpv] = pickle.dumps(values,pickle.HIGHEST_PROTOCOL) @@ -64,15 +61,12 @@ class database(fs_template.FsBased): def _delitem(self, cpv): del self.__db[cpv] - def iterkeys(self): return iter(self.__db) - def has_key(self, cpv): return cpv in self.__db - def __del__(self): if "__db" in self.__dict__ and self.__db != None: self.__db.sync() |