From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1SZrVe-00042b-ND for garchives@archives.gentoo.org; Wed, 30 May 2012 22:36:54 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 73FB8E08A4; Wed, 30 May 2012 22:36:46 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 34E5AE08A4 for ; Wed, 30 May 2012 22:36:46 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 706661B4031 for ; Wed, 30 May 2012 22:36:45 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id BBB55E5428 for ; Wed, 30 May 2012 22:36:43 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1338417391.0b11d51b266e6aae5787423b084c00dd0eafcd2c.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/repoman/, pym/portage/dbapi/, pym/portage/dep/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/depgraph.py pym/portage/dbapi/__init__.py pym/portage/dep/__init__.py pym/repoman/checks.py X-VCS-Directories: pym/repoman/ pym/portage/dbapi/ pym/portage/dep/ pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 0b11d51b266e6aae5787423b084c00dd0eafcd2c X-VCS-Branch: master Date: Wed, 30 May 2012 22:36:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: bf2daadf-12d4-4a67-8f98-7adf495cb9a7 X-Archives-Hash: 33401223889c017d9056995dc56be3f0 commit: 0b11d51b266e6aae5787423b084c00dd0eafcd2c Author: Zac Medico gentoo org> AuthorDate: Wed May 30 22:36:31 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Wed May 30 22:36:31 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D0b11d51b Use any() to optimize intersection operations. --- pym/_emerge/depgraph.py | 34 ++++++++++++++++------------------ pym/portage/dbapi/__init__.py | 17 ++++++++--------- pym/portage/dep/__init__.py | 10 ++++------ pym/repoman/checks.py | 2 +- 4 files changed, 29 insertions(+), 34 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index be49b0f..935c376 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2390,22 +2390,20 @@ class depgraph(object): except self._unknown_internal_error: return False, myfavorites =20 - digraph_set =3D frozenset(self._dynamic_config.digraph) + digraph_nodes =3D self._dynamic_config.digraph.nodes =20 - if digraph_set.intersection( + if any(x in digraph_nodes for x in self._dynamic_config._needed_unstable_keywords) or \ - digraph_set.intersection( + any(x in digraph_nodes for x in self._dynamic_config._needed_p_mask_changes) or \ - digraph_set.intersection( + any(x in digraph_nodes for x in self._dynamic_config._needed_use_config_changes) or \ - digraph_set.intersection( + any(x in digraph_nodes for x in self._dynamic_config._needed_license_changes) : #We failed if the user needs to change the configuration self._dynamic_config._success_without_autounmask =3D True return False, myfavorites =20 - digraph_set =3D None - if self._rebuild.trigger_rebuilds(): backtrack_infos =3D self._dynamic_config._backtrack_infos config =3D backtrack_infos.setdefault("config", {}) @@ -3083,7 +3081,7 @@ class depgraph(object): =20 untouchable_flags =3D \ frozenset(chain(pkg.use.mask, pkg.use.force)) - if untouchable_flags.intersection( + if any(x in untouchable_flags for x in chain(need_enable, need_disable)): continue =20 @@ -3133,7 +3131,7 @@ class depgraph(object): =20 untouchable_flags =3D \ frozenset(chain(myparent.use.mask, myparent.use.force)) - if untouchable_flags.intersection(involved_flags): + if any(x in untouchable_flags for x in involved_flags): continue =20 required_use =3D myparent.metadata.get("REQUIRED_USE") @@ -3758,7 +3756,7 @@ class depgraph(object): new_use, changes =3D self._dynamic_config._needed_use_config_changes.= get(pkg) for ppkg, atom in parent_atoms: if not atom.use or \ - not atom.use.required.intersection(changes): + not any(x in atom.use.required for x in changes): continue else: return True @@ -3772,8 +3770,8 @@ class depgraph(object): not check_required_use(required_use, new_use, pkg.iuse.is_valid_flag= ): return old_use =20 - if pkg.use.mask.intersection(new_changes) or \ - pkg.use.force.intersection(new_changes): + if any(x in pkg.use.mask for x in new_changes) or \ + any(x in pkg.use.force for x in new_changes): return old_use =20 self._dynamic_config._needed_use_config_changes[pkg] =3D (new_use, ne= w_changes) @@ -4004,7 +4002,7 @@ class depgraph(object): missing_disabled =3D atom.use.missing_disabled.difference(pkg.iuse= .all) =20 if atom.use.enabled: - if atom.use.enabled.intersection(missing_disabled): + if any(x in atom.use.enabled for x in missing_disabled): use_match =3D False can_adjust_use =3D False need_enabled =3D atom.use.enabled.difference(use) @@ -4013,11 +4011,11 @@ class depgraph(object): if need_enabled: use_match =3D False if can_adjust_use: - if pkg.use.mask.intersection(need_enabled): + if any(x in pkg.use.mask for x in need_enabled): can_adjust_use =3D False =20 if atom.use.disabled: - if atom.use.disabled.intersection(missing_enabled): + if any(x in atom.use.disabled for x in missing_enabled): use_match =3D False can_adjust_use =3D False need_disabled =3D atom.use.disabled.intersection(use) @@ -4026,8 +4024,8 @@ class depgraph(object): if need_disabled: use_match =3D False if can_adjust_use: - if pkg.use.force.difference( - pkg.use.mask).intersection(need_disabled): + if any(x in pkg.use.force and x not in + pkg.use.mask for x in need_disabled): can_adjust_use =3D False =20 if not use_match: @@ -5241,7 +5239,7 @@ class depgraph(object): for node in nodes: parents =3D mygraph.parent_nodes(node, ignore_priority=3DDepPrioritySatisfiedRange.ignore_soft) - if parents and set(parents).intersection(asap_nodes): + if any(x in asap_nodes for x in parents): selected_nodes =3D [node] break else: diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.p= y index a1c5c56..a90d59e 100644 --- a/pym/portage/dbapi/__init__.py +++ b/pym/portage/dbapi/__init__.py @@ -190,21 +190,19 @@ class dbapi(object): missing_disabled =3D atom.use.missing_disabled.difference(iuse) =20 if atom.use.enabled: - if atom.use.enabled.intersection(missing_disabled): + if any(x in atom.use.enabled for x in missing_disabled): return False need_enabled =3D atom.use.enabled.difference(use) if need_enabled: - need_enabled =3D need_enabled.difference(missing_enabled) - if need_enabled: + if any(x not in missing_enabled for x in need_enabled): return False =20 if atom.use.disabled: - if atom.use.disabled.intersection(missing_enabled): + if any(x in atom.use.disabled for x in missing_enabled): return False need_disabled =3D atom.use.disabled.intersection(use) if need_disabled: - need_disabled =3D need_disabled.difference(missing_disabled) - if need_disabled: + if any(x not in missing_disabled for x in need_disabled): return False =20 elif not self.settings.local_config: @@ -215,11 +213,12 @@ class dbapi(object): pkg =3D _pkg_str(cpv, slot=3Dmetadata["SLOT"], repo=3Dmetadata.get("repository")) usemask =3D self.settings._getUseMask(pkg) - if usemask.intersection(atom.use.enabled): + if any(x in usemask for x in atom.use.enabled): return False =20 - useforce =3D self.settings._getUseForce(pkg).difference(usemask) - if useforce.intersection(atom.use.disabled): + useforce =3D self.settings._getUseForce(pkg) + if any(x in useforce and x not in usemask + for x in atom.use.disabled): return False =20 return True diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index d29a4c4..4cd0813 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -2081,21 +2081,19 @@ def match_from_list(mydep, candidate_list): missing_disabled =3D mydep.use.missing_disabled.difference(x.iuse.a= ll) =20 if mydep.use.enabled: - if mydep.use.enabled.intersection(missing_disabled): + if any(f in mydep.use.enabled for f in missing_disabled): continue need_enabled =3D mydep.use.enabled.difference(use.enabled) if need_enabled: - need_enabled =3D need_enabled.difference(missing_enabled) - if need_enabled: + if any(f not in missing_enabled for f in need_enabled): continue =20 if mydep.use.disabled: - if mydep.use.disabled.intersection(missing_enabled): + if any(f in mydep.use.disabled for f in missing_enabled): continue need_disabled =3D mydep.use.disabled.intersection(use.enabled) if need_disabled: - need_disabled =3D need_disabled.difference(missing_disabled) - if need_disabled: + if any(f not in missing_disabled for f in need_disabled): continue =20 mylist.append(x) diff --git a/pym/repoman/checks.py b/pym/repoman/checks.py index 35225c2..94dcfbe 100644 --- a/pym/repoman/checks.py +++ b/pym/repoman/checks.py @@ -470,7 +470,7 @@ class InheritEclass(LineCheck): self._inherit =3D False self._func_call =3D False if hasattr(self, '_exempt_eclasses'): - self._disabled =3D self._exempt_eclasses.intersection(pkg.inherited) + self._disabled =3D any(x in pkg.inherited for x in self._exempt_eclas= ses) else: self._disabled =3D False =20