summaryrefslogtreecommitdiffstats
path: root/iw
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2008-10-31 16:52:24 -0400
committerJeremy Katz <katzj@redhat.com>2008-11-03 09:53:35 -0500
commit8b384da5775edb23fbcf9a5cf481945d4b29c51c (patch)
tree0e2051a1255cac88642cc6341460f45f105490f3 /iw
parentcad2595d67aa9751c4ec93176fa9ba3f7528daec (diff)
downloadanaconda-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.py23
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: