From b4f0dca9b0c6928d3557a7fbe696dacc7faa1735 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 9 Apr 2008 17:00:24 +0000 Subject: Make DepcheckCompositeDB cache Package instances for aux_get() calls. svn path=/main/trunk/; revision=9771 --- pym/_emerge/__init__.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index eaca00b3a..ba0c8a165 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1416,7 +1416,7 @@ class DepcheckCompositeDB(object): self._depgraph = depgraph self._root = root self._match_cache = {} - self._cpv_tree_map = {} + self._cpv_pkg_map = {} def match(self, atom): ret = self._match_cache.get(atom) @@ -1439,15 +1439,14 @@ class DepcheckCompositeDB(object): # atoms or packages to be selected if available. ret = [] if ret is None: - self._cpv_tree_map[pkg.cpv] = \ - self._depgraph.pkg_tree_map[pkg.type_name] + self._cpv_pkg_map[pkg.cpv] = pkg ret = [pkg.cpv] self._match_cache[atom] = ret return ret[:] def aux_get(self, cpv, wants): - return self._depgraph.trees[self._root][ - self._cpv_tree_map[cpv]].dbapi.aux_get(cpv, wants) + metadata = self._cpv_pkg_map[cpv].metadata + return [metadata.get(x, "") for x in wants] class depgraph(object): -- cgit v1.2.3-1-g7c22