diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-09 17:00:24 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-09 17:00:24 +0000 |
commit | b4f0dca9b0c6928d3557a7fbe696dacc7faa1735 (patch) | |
tree | c0b00a25bf09165270c4e2562d043aea65bd7221 | |
parent | d77891ef525d9b913fa8c3a320ff10bc355d4d6f (diff) | |
download | portage-b4f0dca9b0c6928d3557a7fbe696dacc7faa1735.tar.gz portage-b4f0dca9b0c6928d3557a7fbe696dacc7faa1735.tar.bz2 portage-b4f0dca9b0c6928d3557a7fbe696dacc7faa1735.zip |
Make DepcheckCompositeDB cache Package instances for aux_get() calls.
svn path=/main/trunk/; revision=9771
-rw-r--r-- | pym/_emerge/__init__.py | 9 |
1 files 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): |