def getClanIcon(self, vehicleID): # Load order: id -> nick -> srv -> clan -> default clan -> default nick pl = self.players.get(vehicleID, None) if not pl: return None # Return cached path if hasattr(pl, 'clanicon'): return pl.clanicon def paths_gen(): # Search icons prefix = 'res_mods/mods/shared_resources/xvm/res/{}'.format( xfwutils.fix_path_slashes(config.get('battle/clanIconsFolder'))) yield '{}ID/{}.png'.format(prefix, pl.accountDBID) yield '{}{}/nick/{}.png'.format(prefix, getRegion(), pl.name) if hasattr(pl, 'x_emblem'): yield pl.x_emblem if pl.clan: yield '{}{}/clan/{}.png'.format(prefix, getRegion(), pl.clan) yield '{}{}/clan/default.png'.format(prefix, getRegion()) yield '{}{}/nick/default.png'.format(prefix, getRegion()) for fn in paths_gen(): if os.path.isfile(fn): pl.clanicon = utils.fixImgTag('xvm://' + fn[len('res_mods/mods/shared_resources/xvm/'):]) return pl.clanicon pl.clanicon = None return pl.clanicon
def getClanIcon(self, vehicleID): # Load order: id -> nick -> srv -> clan -> default clan -> default nick pl = self.players.get(vehicleID, None) if not pl: return None # Return cached path if hasattr(pl, 'clanicon'): return pl.clanicon def paths_gen(): # Search icons prefix = 'res_mods/mods/shared_resources/xvm/res/{}'.format( utils.fixPath(config.get('battle/clanIconsFolder'))) yield '{}ID/{}.png'.format(prefix, pl.accountDBID) yield '{}{}/nick/{}.png'.format(prefix, GAME_REGION, pl.name) if hasattr(pl, 'x_emblem'): yield pl.x_emblem if pl.clan: yield '{}{}/clan/{}.png'.format(prefix, GAME_REGION, pl.clan) yield '{}{}/clan/default.png'.format(prefix, GAME_REGION) yield '{}{}/nick/default.png'.format(prefix, GAME_REGION) for fn in paths_gen(): if os.path.isfile(fn): pl.clanicon = utils.fixImgTag('xvm://' + fn[len('res_mods/mods/shared_resources/xvm/'):]) return pl.clanicon pl.clanicon = None return pl.clanicon
def l10n(text): if text is None: return None lang_data = config.lang_data.get('locale', {}) if text in lang_data: text = lang_data[text] if text is None: return None while True: localizedMacroStart = text.find('{{l10n:') if localizedMacroStart == -1: break localizedMacroEnd = text.find('}}', localizedMacroStart) if localizedMacroEnd == -1: break macro = text[localizedMacroStart + 7:localizedMacroEnd] parts = macro.split(':') macro = lang_data.get(parts[0], parts[0]) parts = parts[1:] if len(parts) > 0: try: macro = macro.format(*parts) except Exception as ex: err('macro: {}'.format(macro)) err('params: {}'.format(parts)) err(traceback.format_exc()) text = text[:localizedMacroStart] + macro + text[localizedMacroEnd + 2:] #log(text) return utils.fixImgTag(lang_data.get(text, text))