diff options
author | Jason Stubbs <jstubbs@gentoo.org> | 2005-12-17 17:13:13 +0000 |
---|---|---|
committer | Jason Stubbs <jstubbs@gentoo.org> | 2005-12-17 17:13:13 +0000 |
commit | f3de6b783521b08735e9117e36bb0d0fa718066d (patch) | |
tree | e25aa3da967664ab8ebf38430b473fa376ba4a48 | |
parent | fda8642d547c85b6e6813d90e1e28276288cc47f (diff) | |
download | portage-f3de6b783521b08735e9117e36bb0d0fa718066d.tar.gz portage-f3de6b783521b08735e9117e36bb0d0fa718066d.tar.bz2 portage-f3de6b783521b08735e9117e36bb0d0fa718066d.zip |
Unpack the _eclasses_ value as it's packed by the database template's __setitem__ method.
svn path=/main/trunk/; revision=2393
-rw-r--r-- | pym/cache/anydbm.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/cache/anydbm.py b/pym/cache/anydbm.py index bc380ae27..28d1a889e 100644 --- a/pym/cache/anydbm.py +++ b/pym/cache/anydbm.py @@ -10,6 +10,7 @@ except ImportError: import pickle import os import fs_template +from template import reconstruct_eclasses import cache_errors @@ -51,7 +52,10 @@ class database(fs_template.FsBased): def __getitem__(self, cpv): # we override getitem because it's just a cpickling of the data handed in. - return pickle.loads(self.__db[cpv]) + d = pickle.loads(self.__db[cpv]) + if "_eclasses_" in d: + d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"]) + return d def _setitem(self, cpv, values): |