From: Zac Medico Date: Wed, 9 Apr 2008 17:00:24 +0000 (-0000) Subject: Make DepcheckCompositeDB cache Package instances for aux_get() calls. X-Git-Tag: v2.2_pre6~214 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=b4f0dca9b0c6928d3557a7fbe696dacc7faa1735;p=portage.git Make DepcheckCompositeDB cache Package instances for aux_get() calls. svn path=/main/trunk/; revision=9771 --- 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):