def _readRanks(xmlCtx, subsections): ranks = [] rankIDsByNames = {} for sname, subsection in subsections: if rankIDsByNames.has_key(sname): _xml.raiseWrong(xmlCtx, sname, 'is not unique') ctx = (xmlCtx, sname) rankIDsByNames[sname] = len(ranks) if not (IS_CLIENT or IS_WEB): ranks.append(None) else: ranks.append({'userString': i18n.makeString(_xml.readNonEmptyString(ctx, subsection, 'userString')), 'icon': _parseIcon((ctx, 'icon'), _xml.getSubsection(ctx, subsection, 'icon'))}) return (ranks, rankIDsByNames)