From 9e8ae920e12e4bee12b1ae99823de2c15d80ffc1 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 11 Mar 2009 06:15:37 +0000 Subject: In config.setcpv(), increase efficiency by filtering USE with IUSE before calculating USE_EXPAND variables. Also use a generator expression instead of a list comprehension in the USE_EXPAND generation code. (trunk r12697) svn path=/main/branches/2.1.6/; revision=12954 --- pym/portage/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'pym') diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index e6bd95259..b4291cfd7 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -2109,6 +2109,8 @@ class config(object): if ebuild_force_test: self.usemask.discard("test") + use.difference_update([x for x in use if x not in iuse_implicit]) + # Use the calculated USE flags to regenerate the USE_EXPAND flags so # that they are consistent. For optimal performance, use slice # comparison instead of startswith(). @@ -2116,8 +2118,8 @@ class config(object): for var in use_expand: prefix = var.lower() + "_" prefix_len = len(prefix) - expand_flags = set([ x[prefix_len:] for x in use \ - if x[:prefix_len] == prefix ]) + expand_flags = set( x[prefix_len:] for x in use \ + if x[:prefix_len] == prefix ) var_split = self.get(var, "").split() # Preserve the order of var_split because it can matter for things # like LINGUAS. @@ -2179,9 +2181,7 @@ class config(object): # attribute since we still want to be able to see global USE # settings for things like emerge --info. - self.configdict["pkg"]["PORTAGE_USE"] = " ".join(sorted( - x for x in use if \ - x in iuse_implicit)) + self.configdict["pkg"]["PORTAGE_USE"] = " ".join(sorted(use)) def _get_implicit_iuse(self): """ -- cgit v1.2.3-1-g7c22