Esempio n. 1
0
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)
Esempio n. 2
0
    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
Esempio n. 3
0
    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()
Esempio n. 5
0
    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
Esempio n. 6
0
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()
Esempio n. 8
0
        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]
Esempio n. 9
0
    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
            
Esempio n. 10
0
def getLangs():
    if os.environ.has_key("LANG"):
        langs = language.expandLangs(os.environ["LANG"])
    else:
        langs = []
    return langs