summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2005-12-17 17:13:13 +0000
committerJason Stubbs <jstubbs@gentoo.org>2005-12-17 17:13:13 +0000
commitf3de6b783521b08735e9117e36bb0d0fa718066d (patch)
treee25aa3da967664ab8ebf38430b473fa376ba4a48
parentCheck if packages listed in the --resume list have been removed from the (diff)
downloadportage-multirepo-f3de6b783521b08735e9117e36bb0d0fa718066d.tar.gz
portage-multirepo-f3de6b783521b08735e9117e36bb0d0fa718066d.tar.bz2
portage-multirepo-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.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/cache/anydbm.py b/pym/cache/anydbm.py
index bc380ae2..28d1a889 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):