diff options
author | 2012-05-30 15:36:31 -0700 | |
---|---|---|
committer | 2012-05-30 15:36:31 -0700 | |
commit | 0b11d51b266e6aae5787423b084c00dd0eafcd2c (patch) | |
tree | 68d7ae38a4db24d06f91722ea47c3779fee165da /pym/portage | |
parent | _wildcard_set: specify allow_repo=False (diff) | |
download | portage-0b11d51b266e6aae5787423b084c00dd0eafcd2c.tar.gz portage-0b11d51b266e6aae5787423b084c00dd0eafcd2c.tar.bz2 portage-0b11d51b266e6aae5787423b084c00dd0eafcd2c.zip |
Use any() to optimize intersection operations.
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/dbapi/__init__.py | 17 | ||||
-rw-r--r-- | pym/portage/dep/__init__.py | 10 |
2 files changed, 12 insertions, 15 deletions
diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py index a1c5c5674..a90d59e77 100644 --- a/pym/portage/dbapi/__init__.py +++ b/pym/portage/dbapi/__init__.py @@ -190,21 +190,19 @@ class dbapi(object): missing_disabled = atom.use.missing_disabled.difference(iuse) 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 = atom.use.enabled.difference(use) if need_enabled: - need_enabled = need_enabled.difference(missing_enabled) - if need_enabled: + if any(x not in missing_enabled for x in need_enabled): return False 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 = atom.use.disabled.intersection(use) if need_disabled: - need_disabled = need_disabled.difference(missing_disabled) - if need_disabled: + if any(x not in missing_disabled for x in need_disabled): return False elif not self.settings.local_config: @@ -215,11 +213,12 @@ class dbapi(object): pkg = _pkg_str(cpv, slot=metadata["SLOT"], repo=metadata.get("repository")) usemask = self.settings._getUseMask(pkg) - if usemask.intersection(atom.use.enabled): + if any(x in usemask for x in atom.use.enabled): return False - useforce = self.settings._getUseForce(pkg).difference(usemask) - if useforce.intersection(atom.use.disabled): + useforce = self.settings._getUseForce(pkg) + if any(x in useforce and x not in usemask + for x in atom.use.disabled): return False return True diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index d29a4c4a1..4cd081310 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 = mydep.use.missing_disabled.difference(x.iuse.all) 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 = mydep.use.enabled.difference(use.enabled) if need_enabled: - need_enabled = need_enabled.difference(missing_enabled) - if need_enabled: + if any(f not in missing_enabled for f in need_enabled): continue 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 = mydep.use.disabled.intersection(use.enabled) if need_disabled: - need_disabled = need_disabled.difference(missing_disabled) - if need_disabled: + if any(f not in missing_disabled for f in need_disabled): continue mylist.append(x) |