summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Package.py
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-05-25 13:30:15 +0200
committerZac Medico <zmedico@gentoo.org>2010-05-25 04:43:46 -0700
commit4669853d73ee647a1e44a96d04f74b92e480a6ef (patch)
tree5e3e449be289c27f433bfa75c547041f1f10c2b8 /pym/_emerge/Package.py
parentebe5811272f6eecb3532b45471ba7f1cfef20ba2 (diff)
downloadportage-4669853d73ee647a1e44a96d04f74b92e480a6ef.tar.gz
portage-4669853d73ee647a1e44a96d04f74b92e480a6ef.tar.bz2
portage-4669853d73ee647a1e44a96d04f74b92e480a6ef.zip
Add _emerge.Package.iuse.get_missing_iuse to return missing IUSE flags. Restore original behavior of is_valid_flag.
Diffstat (limited to 'pym/_emerge/Package.py')
-rw-r--r--pym/_emerge/Package.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 0eba4b65a..963bfd9f0 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -218,6 +218,19 @@ class Package(Task):
for flag in flags:
if not flag in self.all and \
self._iuse_implicit_regex.match(flag) is None:
+ return False
+ return True
+
+ def get_missing_iuse(self, flags):
+ """
+ @returns: A list of flags missing from IUSE.
+ """
+ if isinstance(flags, basestring):
+ flags = [flags]
+ missing_iuse = []
+ for flag in flags:
+ if not flag in self.all and \
+ self._iuse_implicit_regex.match(flag) is None:
missing_iuse.append(flag)
return missing_iuse