Allow _emerge.Package.iuse.is_valid_flag() to take a list of flags
authorSebastian Luther <SebastianLuther@gmx.de>
Tue, 25 May 2010 11:00:58 +0000 (13:00 +0200)
committerZac Medico <zmedico@gentoo.org>
Tue, 25 May 2010 11:43:46 +0000 (04:43 -0700)
pym/_emerge/Package.py

index b75018605ed3645b666cfba072d4a13258cfebd5..93b86f10b6b6253c4278765f9f6b4518cd59991b 100644 (file)
@@ -207,13 +207,18 @@ class Package(Task):
                        self.disabled = frozenset(disabled)
                        self.all = frozenset(chain(enabled, disabled, other))
 
-               def is_valid_flag(self, flag):
+               def is_valid_flag(self, flags):
                        """
-                       @returns: True if flag is a valid USE value which may
+                       @returns: True if all flags are valid USE values which may
                                be specified in USE dependencies, False otherwise.
                        """
-                       return flag in self.all or \
-                               self._iuse_implicit_regex.match(flag) is not None
+                       if isinstance(flags, basestring):
+                               flags = [flags]
+                       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_hash_key(self):
                hash_key = getattr(self, "_hash_key", None)