diff options
author | Jeremy Katz <katzj@redhat.com> | 2008-10-31 16:52:24 -0400 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2008-11-03 09:53:35 -0500 |
commit | 8b384da5775edb23fbcf9a5cf481945d4b29c51c (patch) | |
tree | 0e2051a1255cac88642cc6341460f45f105490f3 /iw | |
parent | cad2595d67aa9751c4ec93176fa9ba3f7528daec (diff) | |
download | anaconda-8b384da5775edb23fbcf9a5cf481945d4b29c51c.tar.gz anaconda-8b384da5775edb23fbcf9a5cf481945d4b29c51c.tar.xz anaconda-8b384da5775edb23fbcf9a5cf481945d4b29c51c.zip |
Improve filtering of non-available groups (#469438)
We show groups that don't have any of their mandatory packages available
which is less than ideal as, eg, xfce-desktop gets shown just because
gdm is on the dvd. So make our filtering a little bit stronger.
And make sure that text mode is using the same filtering
Diffstat (limited to 'iw')
-rw-r--r-- | iw/GroupSelector.py | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/iw/GroupSelector.py b/iw/GroupSelector.py index 18df2eee7..a8df9faab 100644 --- a/iw/GroupSelector.py +++ b/iw/GroupSelector.py @@ -120,28 +120,11 @@ def _selectPackage(ayum, group, pkg): else: map(lambda x: x.groups.append(grpid), txmbrs) -def _groupHasPackages(grp, ayum): - # this checks to see if the given group has any packages available - # (ie, already installed or in the sack of available packages) - # so that we don't show empty groups - for p in grp.packages: - try: - pkgs = ayum.pkgSack.returnNewestByName(p) - return True - except yum.Errors.PackageSackError: - pass - try: - pkgs = ayum.rpmdb.returnNewestByName(p) - return True - except (IndexError, yum.Errors.PackageSackError): - pass - return False - def _catHasGroupWithPackages(cat, ayum): grps = map(lambda x: ayum.comps.return_group(x), filter(lambda x: ayum.comps.has_group(x), cat.groups)) for g in grps: - if _groupHasPackages(g, ayum): + if ayum._groupHasPackages(g): return True return False @@ -373,7 +356,7 @@ class GroupSelector: filter(lambda x: self.ayum.comps.has_group(x), groups)) grps.sort(ui_comps_sort) for grp in grps: - if not _groupHasPackages(grp, self.ayum): + if not self.ayum._groupHasPackages(grp): continue s = "<span size=\"large\" weight=\"bold\">%s</span>" % xmltrans(grp.name, grp.translated_name) @@ -488,7 +471,7 @@ class GroupSelector: # conceivably should be handled by yum grps = {} for g in self.ayum.comps.groups: - if g.user_visible and _groupHasPackages(g, self.ayum): + if g.user_visible and self.ayum._groupHasPackages(g): grps[g.groupid] = g for cat in self.ayum.comps.categories: |