diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-07-21 02:20:28 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-07-21 02:20:28 +0000 |
commit | 939adf4ce1595116a0daef098f5cf303ced8d7e3 (patch) | |
tree | 10877367934d504d650885a97ca3b08accb11e3a /pym/portage | |
parent | fca57996027dfe24aacd90ebf64806bbcd67da2e (diff) | |
download | portage-939adf4ce1595116a0daef098f5cf303ced8d7e3.tar.gz portage-939adf4ce1595116a0daef098f5cf303ced8d7e3.tar.bz2 portage-939adf4ce1595116a0daef098f5cf303ced8d7e3.zip |
For --depclean and --prune, eliminate duplicate graph creation code by re-using
the depgraph class to do it. The depgraph class was used in the past for this
purpose but back then it didn't handle USE flags correctly for installed
packages. Now it works fine.
svn path=/main/trunk/; revision=11152
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/__init__.py | 3 | ||||
-rw-r--r-- | pym/portage/sets/base.py | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index b5461fdb4..71fa0c6d5 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -433,6 +433,9 @@ class digraph(object): del self.nodes[child][1][parent] del self.nodes[parent][0][child] + def __iter__(self): + return iter(self.order) + def contains(self, node): """Checks if the digraph contains mynode""" return node in self.nodes diff --git a/pym/portage/sets/base.py b/pym/portage/sets/base.py index 717b16322..4de3e847d 100644 --- a/pym/portage/sets/base.py +++ b/pym/portage/sets/base.py @@ -37,6 +37,10 @@ class PackageSet(object): for x in self._nonatoms: yield x + def __nonzero__(self): + self._load() + return bool(self._atoms or self._nonatoms) + def supportsOperation(self, op): if not op in OPERATIONS: raise ValueError(op) |