diff options
author | Jeremy Katz <katzj@redhat.com> | 2005-02-02 22:41:01 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2005-02-02 22:41:01 +0000 |
commit | 4a9935451eda98c420925546b30e7068d6463ccc (patch) | |
tree | fa9d655a6805a3b4797d48b1d84c30b4013ab178 /packages.py | |
parent | cd5a5031d4f3843972b85357293cd4c575b3aae3 (diff) | |
download | anaconda-4a9935451eda98c420925546b30e7068d6463ccc.tar.gz anaconda-4a9935451eda98c420925546b30e7068d6463ccc.tar.xz anaconda-4a9935451eda98c420925546b30e7068d6463ccc.zip |
2005-02-02 Jeremy Katz <katzj@redhat.com>
* packages.py (selectLanguageSupportGroups): Switch to selecting
metapkgs of a "language-support" group so that language selection
is just like other package selection
Diffstat (limited to 'packages.py')
-rw-r--r-- | packages.py | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/packages.py b/packages.py index 2b3fe9cde..fbf7500a3 100644 --- a/packages.py +++ b/packages.py @@ -156,7 +156,7 @@ def readPackages(intf, method, id): w = intf.waitWindow(_("Reading"), _("Reading package information...")) try: hdrlist = method.readHeaders() - except FileCopyException: + except FileCopyException, e: w.pop() method.unmountCD() intf.messageWindow(_("Error"), @@ -170,7 +170,7 @@ def readPackages(intf, method, id): while grpset is None: try: grpset = method.readComps(hdrlist) - except FileCopyException: + except FileCopyException, e: method.unmountCD() intf.messageWindow(_("Error"), _("Unable to read comps file. This may be " @@ -1567,22 +1567,33 @@ def betaNagScreen(intf, dir): # FIXME: this is a kind of poor way to do this, but it will work for now def selectLanguageSupportGroups(grpset, langSupport): + if not grpset.groups.has_key("language-support"): + return + + langSupport.getDefault() sup = langSupport.supported if len(sup) == 0: sup = langSupport.getAllSupported() - for group in grpset.groups.values(): + langs = [] + for name in sup: + try: + lang = langSupport.langInfoByName[name][0] + langs.extend(language.expandLangs(lang)) + except: + continue + + grp = grpset.groups["language-support"] + for (pid, pdict) in grp.packages.items(): + if pdict['meta'] != 1: + continue + if not grpset.groups.has_key(pid): + continue + group = grpset.groups[pid] xmlgrp = grpset.compsxml.groups[group.basename] - langs = [] - for name in sup: - try: - lang = langSupport.langInfoByName[name][0] - langs.extend(language.expandLangs(lang)) - except: - continue - + if group.langonly is not None and group.langonly in langs: - group.select() + grp.selectPackage(pid) for package in xmlgrp.pkgConditionals.keys(): req = xmlgrp.pkgConditionals[package] if not grpset.hdrlist.has_key(package): @@ -1594,7 +1605,5 @@ def selectLanguageSupportGroups(grpset, langSupport): grpset.hdrlist[req].addDeps([package], main = 0) if grpset.hdrlist[req].isSelected(): grpset.hdrlist[package].select() - sys.stdout.flush() grpset.hdrlist[package].usecount += grpset.hdrlist[req].usecount - 1 group.selectDeps([package], uses = grpset.hdrlist[req].usecount) - |