def orderPackageGroups(curgroups): compsParents = curgroups.compsxml.hierarchy.order compsHierarchy = curgroups.compsxml.hierarchy grpids = [] for grp in curgroups: grpids.append(grp.id) ignorelst = [] retlist = [] retdict = {} if os.environ.has_key("LANG"): langs = language.expandLangs(os.environ["LANG"]) else: langs = [] for key in compsParents: # get the translated name myname = None if not compsHierarchy.translations.has_key(key): myname = key else: for lang in langs: if compsHierarchy.translations[key].has_key(lang): myname = compsHierarchy.translations[key][lang] break if myname is None: myname = key retlist.append(myname) retdict[myname] = [] compslist = compsHierarchy[key] for grp in compslist: if grp in grpids: thecomp = curgroups.compsById[grp] ignorelst.append(grp) retdict[myname].append(thecomp) miscgrp = _("Miscellaneous") for grp in grpids: if grp in ignorelst: continue thecomp = curgroups.compsById[grp] if miscgrp not in retlist: retlist.append(miscgrp) retdict[miscgrp] = [thecomp] else: retdict[miscgrp].append(thecomp) return (retlist, retdict)
def _getRnotes(self): langs = [] pixmaps = [] if (os.environ.has_key('LANG')): langs = language.expandLangs(os.environ['LANG']) langs.append('') pixmaps = [] # OEM path overrides built in oem_pixmaps_path = "/etc/oem/anaconda/rnotes/%s/*.png" oem_pixmaps_dir = "/etc/oem/anaconda/rnotes" if os.path.isdir(oem_pixmaps_dir): paths = ("/tmp/product/pixmaps/rnotes/%s/*.png", oem_pixmaps_path) else: paths = ("/tmp/product/pixmaps/rnotes/%s/*.png", "/usr/share/anaconda/pixmaps/rnotes/%s/*.png") for p in paths: for lang in langs: path = p % lang pixmaps = glob.glob(path) if len(pixmaps) > 0: break if len(pixmaps) > 0: def _numbers_first(k): k = os.path.basename(k).split(".")[0] try: k = int(k) except ValueError: pass return k files = sorted([os.path.join("rnotes", os.path.basename(x)) for \ x in pixmaps], key = _numbers_first) else: files = ["progress_first.png"] return files
def selectLanguageSupportGroups(grpset, instLanguage): if not grpset.groups.has_key("language-support"): return langs = [] for l in language.expandLangs (instLanguage.getDefault()): langs.append(l) 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] if group.langonly is not None and group.langonly in langs: grp.selectPackage(pid) grp.usecount = grp.usecount + 1 selectPackageConditionals(grpset, group) if grp.usecount > 0: grpset.groups["language-support"].select()
def _getRnotes(self): langs = [] pixmaps = [] if (os.environ.has_key('LANG')): langs = language.expandLangs(os.environ['LANG']) langs.append('') pixmaps = [] paths = ("/tmp/product/pixmaps/rnotes/%s/*.png", "/usr/share/anaconda/pixmaps/rnotes/%s/*.png") for p in paths: for lang in langs: path = p % lang pixmaps = glob.glob(path) if len(pixmaps) > 0: break if len(pixmaps) > 0: files = pixmaps else: files = ["progress_first.png"] return files
def selectLanguageSupportGroups(grpset, instLanguage): if not grpset.groups.has_key("language-support"): return langs = [] for l in language.expandLangs(instLanguage.getDefault()): langs.append(l) 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] if group.langonly is not None and group.langonly in langs: grp.selectPackage(pid) grp.usecount = grp.usecount + 1 selectPackageConditionals(grpset, group) if grp.usecount > 0: grpset.groups["language-support"].select()
# # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # import sys sys.path.append("..") import language as language import gettext langs = language.Language() names = {} for k in langs.localeInfo.keys(): found = False for l in language.expandLangs(k): try: f = open("po/%s.gmo" %(l,)) except (OSError, IOError): continue cat = gettext.GNUTranslations(f) cat.set_output_charset("utf-8") names[langs.localeInfo[k][0]] = cat.lgettext(langs.localeInfo[k][0]) found = True break if not found: names[langs.localeInfo[k][0]] = langs.localeInfo[k][0] nameList = names.keys() nameList.sort()
groups = self.compsxml.groups.keys() groups.sort() # be leet and construct an everything group everything = rhpl.comps.Group(self.compsxml) everything.name = N_("Everything") everything.id = "everything" for pkg in packages.keys(): if ExcludePackages.has_key(packages[pkg]['name']): continue everything.packages[pkg] = (u'mandatory', pkg) self.compsxml.groups['Everything'] = everything groups.append('Everything') if os.environ.has_key("LANG"): langs = language.expandLangs(os.environ["LANG"]) else: langs = [] # we have to go through first and make Comp objects for all # of the groups. then we can go through and set up the includes for group in groups[:-1]: group = self.compsxml.groups[group] comp = Component(self, group, packages, langs = langs) self.comps.append(comp) self.compsDict[comp.name] = comp self.compsById[comp.id] = comp # special case everything to make it faster... for group in [ groups[-1] ]: group = self.compsxml.groups[group]
name = name[:-1].strip() territory = territory[:-1].strip() charmap = charmap[:-1].strip() # some languages names are the same as their iso id if name == lang[:2]: continue if defaultTerritory.has_key(name) and defaultTerritory[name] == territory: fullName = name else: fullName = "%s (%s)" %(name, territory) if nameList.has_key(fullName): # we want the en_US form nick = language.expandLangs(nameList[fullName])[-2] # if prefNotUtf8.has_key(nick): # print prefNotUtf8[nick] # else: # print if (prefNotUtf8.has_key(nick) and (charmap != prefNotUtf8[nick])): # print "have nick, but this isn't the right charmap" continue elif charmap != "UTF-8": continue elif len(lang) < len(nameList[fullName]): continue elif charmap != "UTF-8": # this doesn't handle the prefNotUtf8 stuff continue
def getLangs(): if os.environ.has_key("LANG"): langs = language.expandLangs(os.environ["LANG"]) else: langs = [] return langs