Move _get_use* calls out of loops.
authorZac Medico <zmedico@gentoo.org>
Sun, 7 Nov 2010 22:45:59 +0000 (14:45 -0800)
committerZac Medico <zmedico@gentoo.org>
Wed, 24 Nov 2010 02:00:41 +0000 (18:00 -0800)
pym/portage/dep/__init__.py

index 7ff54f6f7c171b7f47b3c4741754ca794f06d6b6..ab7c2a22f5611516b9d6f1a6105a331cddb11c3c 100644 (file)
@@ -301,6 +301,8 @@ def use_reduce(depstr, uselist=[], masklist=[], matchall=False, excludeall=[], i
        if matchall and matchnone:
                raise ValueError("portage.dep.use_reduce: 'matchall' and 'matchnone' are mutually exclusive")
 
+       useflag_re = _get_useflag_re(eapi)
+
        def is_active(conditional):
                """
                Decides if a given use conditional is active.
@@ -320,7 +322,7 @@ def use_reduce(depstr, uselist=[], masklist=[], matchall=False, excludeall=[], i
                                e = InvalidData(msg, category='IUSE.missing')
                                raise InvalidDependString(msg, errors=(e,))
                else:
-                       if _get_useflag_re(eapi).match(flag) is None:
+                       if useflag_re.match(flag) is None:
                                raise InvalidDependString(
                                        _("invalid use flag '%s' in conditional '%s'") % (flag, conditional))
 
@@ -705,9 +707,10 @@ class _use_dep(object):
                no_default = set()
 
                conditional = {}
+               usedep_re = _get_usedep_re(self.eapi)
 
                for x in use:
-                       m = _get_usedep_re(self.eapi).match(x)
+                       m = usedep_re.match(x)
                        if m is None:
                                raise InvalidAtom(_("Invalid use dep: '%s'") % (x,))
 
@@ -807,9 +810,10 @@ class _use_dep(object):
                disabled_flags = set(self.disabled)
 
                tokens = []
+               usedep_re = _get_usedep_re(self.eapi)
 
                for x in self.tokens:
-                       m = _get_usedep_re(self.eapi).match(x)
+                       m = usedep_re.match(x)
 
                        operator = m.group("prefix") + m.group("suffix")
                        flag = m.group("flag")
@@ -864,9 +868,10 @@ class _use_dep(object):
                def validate_flag(flag):
                        return is_valid_flag(flag) or flag in all_defaults
 
+               usedep_re = _get_usedep_re(self.eapi)
 
                for x in self.tokens:
-                       m = _get_usedep_re(self.eapi).match(x)
+                       m = usedep_re.match(x)
 
                        operator = m.group("prefix") + m.group("suffix")
                        flag = m.group("flag")
@@ -975,9 +980,10 @@ class _use_dep(object):
                missing_disabled = self.missing_disabled
 
                tokens = []
+               usedep_re = _get_usedep_re(self.eapi)
 
                for x in self.tokens:
-                       m = _get_usedep_re(self.eapi).match(x)
+                       m = usedep_re.match(x)
 
                        operator = m.group("prefix") + m.group("suffix")
                        flag = m.group("flag")