Пример #1
0
 def __getData(self):
     vehicle = g_currentPreviewVehicle.item
     if vehicle.isElite:
         vehicleTitle = text_styles.bonusPreviewText(
             '%s %s, %s' %
             (_ms(MENU.header_vehicletype_elite(vehicle.type)),
              _ms(VEHICLE_PREVIEW.INFOPANEL_LEVEL,
                  level=_ms(MENU.header_level(vehicle.level))),
              _ms(MENU.nations(vehicle.nationName))))
     else:
         vehicleTitle = text_styles.playerOnline(
             '%s %s, %s' %
             (_ms(MENU.header_vehicletype(vehicle.type)),
              _ms(VEHICLE_PREVIEW.INFOPANEL_LEVEL,
                  level=_ms(MENU.header_level(vehicle.level))),
              _ms(MENU.nations(vehicle.nationName))))
     if vehicle.isPremiumIGR:
         vehicleTitle = makeHtmlString('html_templates:igr/premium-vehicle',
                                       'name', {'vehicle': vehicleTitle})
     compareBtnEnabled, compareBtnTooltip = resolveStateTooltip(
         self.comparisonBasket, vehicle,
         VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_ADDTOCOMPARE,
         VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED)
     result = {
         'closeBtnLabel': VEHICLE_PREVIEW.HEADER_CLOSEBTN_LABEL,
         'backBtnLabel': VEHICLE_PREVIEW.HEADER_BACKBTN_LABEL,
         'backBtnDescrLabel': self.__getBackBtnLabel(),
         'vehicleTitle': vehicleTitle,
         'vehicleName': vehicle.descriptor.type.shortUserString.upper(),
         'showCloseBtn': self._showCloseBtn,
         'compareBtnTooltip': compareBtnTooltip,
         'showCompareBtn': compareBtnEnabled
     }
     return result
Пример #2
0
    def updateAllDropdowns(self, nationID, tankType, typeID, roleType):
        nationsDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': nationID,
          'label': MENU.nations(nations.NAMES[int(nationID)])}]
        classesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': tankType,
          'label': DIALOGS.recruitwindow_vehicleclassdropdown(tankType)}]
        typesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        rolesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        modulesAll = g_itemsCache.items.getVehicles(self.__getRoleCriteria(nationID, tankType, typeID)).values()
        modulesAll.sort()
        for module in modulesAll:
            typesDP.append({'id': module.innationID,
             'label': module.shortUserName})
            for role in module.descriptor.type.crewRoles:
                if role[0] == roleType:
                    rolesDP.append({'id': role[0],
                     'label': convert(getSkillsConfig()[role[0]]['userString'])})

            break

        self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP, rolesDP)
        return
Пример #3
0
    def updateAllDropdowns(self, nationID, tankType, typeID, roleType):
        nationsDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': nationID,
          'label': MENU.nations(nations.NAMES[int(nationID)])}]
        classesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': tankType,
          'label': DIALOGS.recruitwindow_vehicleclassdropdown(tankType)}]
        typesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        rolesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        modulesAll = g_itemsCache.items.getVehicles(self.__getRoleCriteria(nationID, tankType, typeID)).values()
        modulesAll.sort()
        for module in modulesAll:
            typesDP.append({'id': module.innationID,
             'label': module.shortUserName})
            for role in module.descriptor.type.crewRoles:
                if role[0] == roleType:
                    rolesDP.append({'id': role[0],
                     'label': convert(getSkillsConfig()[role[0]]['userString'])})

            break

        self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP, rolesDP)
        return
Пример #4
0
    def updateAllDropdowns(self, nationID, tankType, typeID, roleType):
        nationsDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': nationID,
          'label': MENU.nations(nations.NAMES[int(nationID)])}]
        classesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': tankType,
          'label': DIALOGS.recruitwindow_vehicleclassdropdown(tankType)}]
        typesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        rolesDP = [{'id': None,
          'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        unlocks = yield StatsRequester().getUnlocks()
        modulesAll = yield Requester('vehicle').getFromShop()
        for module in modulesAll:
            compdecs = module.descriptor.type.compactDescr
            if compdecs in unlocks and module.descriptor.type.id[0] == nationID and module.descriptor.type.id[1] == typeID:
                typesDP.append({'id': module.descriptor.type.id[1],
                 'label': module.descriptor.type.shortUserString})
                for role in module.descriptor.type.crewRoles:
                    if role[0] == roleType:
                        rolesDP.append({'id': role[0],
                         'label': convert(getSkillsConfig()[role[0]]['userString'])})

                break

        self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP, rolesDP)
        return
Пример #5
0
    def __updateLimits(self, teamLimits, rosters):
        levelLimits = {}
        for className in constants.VEHICLE_CLASSES:
            classLvlLimits = prb_getters.getClassLevelLimits(teamLimits, className)
            levelLimits[className] = {'minLevel': classLvlLimits[0],
             'maxLevel': classLvlLimits[1],
             'maxCurLevel': 0}

        for roster, players in rosters.iteritems():
            if roster & PREBATTLE_ROSTER.ASSIGNED:
                for player in players:
                    vehicle = player.getVehicle()
                    levelLimits[vehicle.type]['maxCurLevel'] = max(levelLimits[vehicle.type]['maxCurLevel'], vehicle.level)

        strlevelLimits = dict(((t, '') for t in constants.VEHICLE_CLASSES))
        classesLimitsAreIdentical, commonInfo = self.__compareVehicleLimits(levelLimits)
        if classesLimitsAreIdentical:
            strlevelLimits['lightTank'] = self.__makeMinMaxString(commonInfo)
        else:
            for className in constants.VEHICLE_CLASSES:
                strlevelLimits[className] = self.__makeMinMaxString(levelLimits[className])

        self.as_setClassesLimitsS(strlevelLimits, classesLimitsAreIdentical)
        nationsLimits = prb_getters.getNationsLimits(teamLimits)
        nationsLimitsResult = None
        if nationsLimits is not None and len(nationsLimits) != len(nations.AVAILABLE_NAMES):
            nationsLimitsResult = []
            for nation in nationsLimits:
                nationsLimitsResult.append({'icon': self.NATION_ICON_PATH % {'nation': nation},
                 'tooltip': MENU.nations(nation)})

        self.as_setNationsLimitsS(nationsLimitsResult)
        return
Пример #6
0
    def __updateLimits(self, teamLimits, rosters):
        levelLimits = {}
        for className in constants.VEHICLE_CLASSES:
            classLvlLimits = prb_control.getClassLevelLimits(teamLimits, className)
            levelLimits[className] = {'minLevel': classLvlLimits[0],
             'maxLevel': classLvlLimits[1],
             'maxCurLevel': 0}

        for roster, players in rosters.iteritems():
            if roster & PREBATTLE_ROSTER.ASSIGNED:
                for player in players:
                    vehicle = player.getVehicle()
                    levelLimits[vehicle.type]['maxCurLevel'] = max(levelLimits[vehicle.type]['maxCurLevel'], vehicle.level)

        strlevelLimits = dict(((t, '') for t in constants.VEHICLE_CLASSES))
        classesLimitsAreIdentical, commonInfo = self.__compareVehicleLimits(levelLimits)
        if classesLimitsAreIdentical:
            strlevelLimits['lightTank'] = self.__makeMinMaxString(commonInfo)
        else:
            for className in constants.VEHICLE_CLASSES:
                strlevelLimits[className] = self.__makeMinMaxString(levelLimits[className])

        self.as_setClassesLimitsS(strlevelLimits, classesLimitsAreIdentical)
        nationsLimits = prb_control.getNationsLimits(teamLimits)
        nationsLimitsResult = None
        if nationsLimits is not None and len(nationsLimits) != len(nations.AVAILABLE_NAMES):
            nationsLimitsResult = []
            for nation in nationsLimits:
                nationsLimitsResult.append({'icon': self.NATION_ICON_PATH % {'nation': nation},
                 'tooltip': MENU.nations(nation)})

        self.as_setNationsLimitsS(nationsLimitsResult)
 def __getVehicleDetails(self, vehicleCD):
     details = {}
     item = g_itemsCache.items.getItemByCD(vehicleCD)
     details['type'] = item.typeUserName
     details['nation'] = i18n.makeString(MENU.nations(item.nationName))
     details['vehicle'] = item.userName
     return details
 def __getVehicleDetails(self, vehicleCD):
     details = {}
     item = self.itemsCache.items.getItemByCD(vehicleCD)
     details['type'] = item.typeUserName
     details['nation'] = i18n.makeString(MENU.nations(item.nationName))
     details['vehicle'] = item.userName
     return details
Пример #9
0
    def __setNationsData(self):
        vehsItems = self.itemsCache.items.getVehicles(
            self.__getNationsCriteria())
        data = []
        if self.__hasPredefinedNations():
            if vehsItems.filter(
                    REQ_CRITERIA.NATIONS(self.__predefinedNationsIdxs)):
                for i, nation in zip(self.__predefinedNationsIdxs,
                                     self.__predefinedNations):
                    data.append(_packItemVO(i, MENU.nations(nation)))

            else:
                data.append(_packItemVO(DEFAULT_NATION, ''))
                _logger.error('Wrong nation set as default!')
            self.as_setNationsDataS(
                self.__getSendingData(data,
                                      len(data) > 1, 0))
        else:
            selectedNationIndex = 0
            counter = 0
            if self.__filteredNations is not None:
                data = self.__filteredNations.values()
                for nationData in data:
                    if self.__selectedNationIdx == DEFAULT_NATION:
                        self.__selectedNationIdx = nationData['id']
                    if nationData['id'] == self.__selectedNationIdx:
                        selectedNationIndex = counter
                    counter += 1

            else:
                for name in GUI_NATIONS:
                    nationIdx = nations.INDICES[name]
                    if name in nations.AVAILABLE_NAMES and vehsItems.filter(
                            REQ_CRITERIA.NATIONS([nationIdx])):
                        if self.__selectedNationIdx == DEFAULT_NATION:
                            self.__selectedNationIdx = nationIdx
                        data.append(_packItemVO(nationIdx, MENU.nations(name)))
                        if nationIdx == self.__selectedNationIdx:
                            selectedNationIndex = counter
                        counter += 1

            self.as_setNationsDataS(
                self.__getSendingData(data,
                                      len(data) > 1, selectedNationIndex))
        return
    def __collectPredefinedRoleData(self):
        criteria = self.__getNationsCriteria()
        selectedNationsIds = []
        if self.__hasPredefinedNations():
            selectedNationsIds = self.__predefinedNationsIdxs
        else:
            for nId in nations.INDICES.itervalues():
                selectedNationsIds.append(nId)

        criteria |= REQ_CRITERIA.NATIONS(selectedNationsIds)
        if not constants.IS_IGR_ENABLED:
            criteria |= ~REQ_CRITERIA.VEHICLE.IS_PREMIUM_IGR
        if constants.IS_DEVELOPMENT:
            criteria |= ~REQ_CRITERIA.VEHICLE.IS_BOT
        modulesAll = self.itemsCache.items.getVehicles(
            criteria=criteria).values()
        modulesAll.sort()
        self.__filteredNations = dict()
        self.__filteredVehClasses = dict()
        self.__filteredVehClasses.setdefault(
            DEFAULT_NATION, [self.__getVehicleClassEmptyRow()])
        self.__filteredVehicles = dict()
        filteredVehClassesByNation = dict()
        count = 0
        for module in modulesAll:
            roleFound = False
            for role in module.descriptor.type.crewRoles:
                if not roleFound and role[0] in self.__predefinedTmanRoles:
                    roleFound = True
                    nationID, _ = module.descriptor.type.id
                    self.__filteredNations.setdefault(
                        nationID,
                        _packItemVO(nationID,
                                    MENU.nations(nations.NAMES[nationID])))
                    vehicleClassesSet = filteredVehClassesByNation.setdefault(
                        nationID, set())
                    self.__filteredVehClasses.setdefault(
                        DEFAULT_NATION, [self.__getVehicleClassEmptyRow()])
                    currentType = module.type
                    if currentType not in vehicleClassesSet:
                        vehicleClassesSet.add(module.type)
                        vehClasses = self.__filteredVehClasses.setdefault(
                            nationID, [self.__getVehicleClassEmptyRow()])
                        vehClasses.append(
                            _packItemVO(
                                currentType,
                                DIALOGS.recruitwindow_vehicleclassdropdown(
                                    currentType)))
                    vehicles = self.__filteredVehicles.setdefault(
                        (nationID, currentType), [self.__getVehicleEmptyRow()])
                    vehicles.append(
                        _packItemVO(module.innationID, module.shortUserName))
                    count += 1

        if count < 1:
            _logger.error('Something wrong with recruit tankman default role!')
            self.__clearFilteredData()
Пример #11
0
    def updateNationDropdown(self):
        vehsItems = g_itemsCache.items.getVehicles(self.__getNationsCriteria())
        data = [{"id": None, "label": DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        for name in GUI_NATIONS:
            nationIdx = nations.INDICES[name]
            vehiclesAvailable = len(vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
            if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                data.append({"id": nationIdx, "label": MENU.nations(name)})

        self.flashObject.as_setNations(data)
        return
Пример #12
0
    def updateNationDropdown(self):
        vehsItems = g_itemsCache.items.getVehicles(self.__getNationsCriteria())
        data = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        for name in GUI_NATIONS:
            nationIdx = nations.INDICES[name]
            vehiclesAvailable = len(
                vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
            if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                data.append({'id': nationIdx, 'label': MENU.nations(name)})

        self.flashObject.as_setNations(data)
Пример #13
0
def _getBattleChartsStatistics(battlesStats, levelDisabledTooltip):
    outcome = []
    tDict = battlesStats[0]
    typesRes = []
    for vehType in VEHICLE_TYPES_ORDER:
        typesRes.append({
            'xField':
            i18n.makeString(DIALOGS.vehicleselldialog_vehicletype(vehType)),
            'icon':
            '../maps/icons/filters/tanks/{0}.png'.format(vehType),
            'yField':
            tDict[vehType],
            'tooltip':
            PROFILE.SECTION_STATISTICS_CHART_TYPE_TOOLTIP
        })

    _setChartDataPercentages(typesRes)
    outcome.append(typesRes)
    tDict = battlesStats[1]
    nationRes = []
    for guiNationIdx, _ in enumerate(GUI_NATIONS):
        nationIdx = getNationIndex(guiNationIdx)
        nationName = nations.NAMES[nationIdx]
        nationRes.append({
            'xField':
            i18n.makeString(MENU.nations(nationName)),
            'icon':
            '../maps/icons/filters/nations/{0}.png'.format(nationName),
            'yField':
            tDict[nationIdx],
            'tooltip':
            PROFILE.SECTION_STATISTICS_CHART_NATION_TOOLTIP
        })

    _setChartDataPercentages(nationRes)
    outcome.append(nationRes)
    tDict = battlesStats[2]
    lvlRes = len(tDict) * [None]
    for level, value in tDict.iteritems():
        tooltip = PROFILE.SECTION_STATISTICS_CHART_LEVEL_TOOLTIP
        if value is None:
            value = -1
            if levelDisabledTooltip is not None:
                tooltip = levelDisabledTooltip
        lvlRes[level - 1] = {
            'xField': str(level),
            'icon': '../maps/icons/levels/tank_level_{0}.png'.format(level),
            'yField': value,
            'tooltip': tooltip
        }

    _setChartDataPercentages(lvlRes)
    outcome.append(lvlRes)
    return {'data': outcome}
def _getVehStatsByNation(battlesStats):
    tDict = battlesStats[1]
    nationRes = []
    for guiNationIdx, _ in enumerate(GUI_NATIONS):
        nationIdx = getNationIndex(guiNationIdx)
        nationName = nations.NAMES[nationIdx]
        nationRes.append({'xField': i18n.makeString(MENU.nations(nationName)),
         'icon': '../maps/icons/filters/nations/{0}.png'.format(nationName),
         'yField': tDict[nationIdx],
         'tooltip': PROFILE.SECTION_STATISTICS_CHART_NATION_TOOLTIP})

    _setChartDataPercentages(nationRes)
    return nationRes
def packNationsFilter():
    result = [{
        'label': MENU.NATIONS_ALL,
        'data': -1,
        'icon': getNationsFilterAssetPath('all')
    }]
    for idx, nation in enumerate(GUI_NATIONS):
        result.append({
            'label': MENU.nations(nation),
            'data': idx,
            'icon': getNationsFilterAssetPath(nation)
        })

    return result
def packNationsFilter(nations=GUI_NATIONS):
    if nations is not GUI_NATIONS:
        nations = sorted(nations,
                         key=lambda nation: GUI_NATIONS_ORDER_INDEX[nation])
    result = [{
        'label': MENU.NATIONS_ALL,
        'data': -1,
        'icon': getNationsFilterAssetPath('all')
    }]
    for nation in nations:
        result.append({
            'label': MENU.nations(nation),
            'data': INDICES[nation],
            'icon': getNationsFilterAssetPath(nation)
        })

    return result
Пример #17
0
    def updateNationDropdown(self):
        try:
            vehsItems = g_itemsCache.items.getVehicles(REQ_CRITERIA.UNLOCKED)
            data = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
            for name in GUI_NATIONS:
                nationIdx = nations.INDICES[name]
                vehiclesAvailable = len(
                    vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
                if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                    data.append({'id': nationIdx, 'label': MENU.nations(name)})

            self.flashObject.as_setNations(data)
        except Exception:
            LOG_ERROR(
                'There is exception while setting data to the recruit window')
            LOG_CURRENT_EXCEPTION()

        return
Пример #18
0
    def updateNationDropdown(self):
        try:
            vehsItems = g_itemsCache.items.getVehicles(REQ_CRITERIA.UNLOCKED)
            data = [{'id': None,
              'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
            for name in GUI_NATIONS:
                nationIdx = nations.INDICES[name]
                vehiclesAvailable = len(vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
                if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                    data.append({'id': nationIdx,
                     'label': MENU.nations(name)})

            self.flashObject.as_setNations(data)
        except Exception:
            LOG_ERROR('There is exception while setting data to the recruit window')
            LOG_CURRENT_EXCEPTION()

        return
Пример #19
0
 def _getData(self):
     vehicle = g_currentPreviewVehicle.item
     if vehicle.isPremium:
         vehicleTitle = '{} {},'.format(
             _ms(MENU.header_vehicletype_elite(vehicle.type)),
             _ms(VEHICLE_PREVIEW.INFOPANEL_LEVEL,
                 level=_ms(MENU.header_level(vehicle.level))))
         vehicleName = makeHtmlString(
             'html_templates:lobby/vehicle_preview', 'vehicleNamePremium',
             {'name': vehicle.descriptor.type.shortUserString.upper()})
     else:
         vehicleTitle = '{} {},'.format(
             _ms(MENU.header_vehicletype(vehicle.type)),
             _ms(VEHICLE_PREVIEW.INFOPANEL_LEVEL,
                 level=_ms(MENU.header_level(vehicle.level))))
         vehicleName = makeHtmlString(
             'html_templates:lobby/vehicle_preview', 'vehicleNameRegular',
             {'name': vehicle.descriptor.type.shortUserString.upper()})
     if vehicle.isPremiumIGR:
         vehicleTitle = makeHtmlString('html_templates:igr/premium-vehicle',
                                       'name', {'vehicle': vehicleTitle})
     compareBtnEnabled, compareBtnTooltip = resolveStateTooltip(
         self.comparisonBasket, vehicle,
         VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_ADDTOCOMPARE,
         VEH_COMPARE.STORE_COMPAREVEHICLEBTN_TOOLTIPS_DISABLED)
     result = {
         'closeBtnLabel': VEHICLE_PREVIEW.HEADER_CLOSEBTN_LABEL,
         'backBtnLabel': VEHICLE_PREVIEW.HEADER_BACKBTN_LABEL,
         'backBtnDescrLabel': self._getBackBtnLabel(),
         'showCloseBtn': _SHOW_CLOSE_BTN,
         'showBackButton': _SHOW_BACK_BTN,
         'vehicleTitle': vehicleTitle,
         'vehicleTypeIcon': getTypeSmallIconPath(vehicle.type,
                                                 vehicle.isElite),
         'nationFlagIcon': RES_ICONS.getFilterNation(vehicle.nationName),
         'vehicleName': vehicleName,
         'nationName': MENU.nations(vehicle.nationName),
         'compareBtnTooltip': compareBtnTooltip,
         'showCompareBtn': compareBtnEnabled,
         'listDesc': self.__getInfoPanelListDescription(vehicle),
         'isMultinational': vehicle.hasNationGroup
     }
     return result
Пример #20
0
    def updateAllDropdowns(self, nationID, tankType, typeID, roleType):
        nationsDP = [{
            'id': None,
            'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW
        }, {
            'id': nationID,
            'label': MENU.nations(nations.NAMES[int(nationID)])
        }]
        classesDP = [{
            'id': None,
            'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW
        }, {
            'id':
            tankType,
            'label':
            DIALOGS.recruitwindow_vehicleclassdropdown(tankType)
        }]
        typesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        rolesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}]
        unlocks = yield StatsRequester().getUnlocks()
        modulesAll = yield Requester('vehicle').getFromShop()
        for module in modulesAll:
            compdecs = module.descriptor.type.compactDescr
            if compdecs in unlocks and module.descriptor.type.id[
                    0] == nationID and module.descriptor.type.id[1] == typeID:
                typesDP.append({
                    'id': module.descriptor.type.id[1],
                    'label': module.descriptor.type.shortUserString
                })
                for role in module.descriptor.type.crewRoles:
                    if role[0] == roleType:
                        rolesDP.append({
                            'id':
                            role[0],
                            'label':
                            convert(getSkillsConfig()[role[0]]['userString'])
                        })

                break

        self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP,
                                            rolesDP)
        return
Пример #21
0
    def setNationsData(self, nationID = None, enabled = True, showEmptyRow = True):
        self.__selectedNation = nationID
        vehsItems = g_itemsCache.items.getVehicles(self.__getNationsCriteria())
        data = [self.__getNationEmptyRow()] if showEmptyRow else []
        selectedNationIndex = 0
        counter = 0
        for name in GUI_NATIONS:
            nationIdx = nations.INDICES[name]
            vehiclesAvailable = len(vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
            if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                if self.__selectedNation is None:
                    self.__selectedNation = nationIdx
                data.append({'id': nationIdx,
                 'label': MENU.nations(name)})
                if nationIdx == self.__selectedNation:
                    selectedNationIndex = counter
                counter = counter + 1

        self.as_setNationsDataS(self.__getSendingData(data, enabled, selectedNationIndex))
        self.onDataChange(self.__selectedNation, self.__selectedVehClass, self.__selectedVehicle, self.__selectedTmanRole)
    def __setNationsData(self):
        vehsItems = self.itemsCache.items.getVehicles(
            self.__getNationsCriteria())
        data = []
        selectedNationIndex = 0
        counter = 0
        for name in GUI_NATIONS:
            nationIdx = nations.INDICES[name]
            vehiclesAvailable = len(
                vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
            if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                if self.__selectedNation == DEFAULT_NATION:
                    self.__selectedNation = nationIdx
                data.append({'id': nationIdx, 'label': MENU.nations(name)})
                if nationIdx == self.__selectedNation:
                    selectedNationIndex = counter
                counter = counter + 1

        self.as_setNationsDataS(
            self.__getSendingData(data,
                                  len(data) > 1, selectedNationIndex))
Пример #23
0
def _getBattleChartsStatistics(battlesStats, levelDisabledTooltip):
    outcome = []
    tDict = battlesStats[0]
    typesRes = []
    for vehType in VEHICLE_TYPES_ORDER:
        typesRes.append({'xField': i18n.makeString(DIALOGS.vehicleselldialog_vehicletype(vehType)),
         'icon': '../maps/icons/filters/tanks/{0}.png'.format(vehType),
         'yField': tDict[vehType],
         'tooltip': PROFILE.SECTION_STATISTICS_CHART_TYPE_TOOLTIP})

    _setChartDataPercentages(typesRes)
    outcome.append(typesRes)
    tDict = battlesStats[1]
    nationRes = []
    for guiNationIdx, _ in enumerate(GUI_NATIONS):
        nationIdx = getNationIndex(guiNationIdx)
        nationName = nations.NAMES[nationIdx]
        nationRes.append({'xField': i18n.makeString(MENU.nations(nationName)),
         'icon': '../maps/icons/filters/nations/{0}.png'.format(nationName),
         'yField': tDict[nationIdx],
         'tooltip': PROFILE.SECTION_STATISTICS_CHART_NATION_TOOLTIP})

    _setChartDataPercentages(nationRes)
    outcome.append(nationRes)
    tDict = battlesStats[2]
    lvlRes = len(tDict) * [None]
    for level, value in tDict.iteritems():
        tooltip = PROFILE.SECTION_STATISTICS_CHART_LEVEL_TOOLTIP
        if value is None:
            value = -1
            if levelDisabledTooltip != None:
                tooltip = levelDisabledTooltip
        lvlRes[level - 1] = {'xField': str(level),
         'icon': '../maps/icons/levels/tank_level_{0}.png'.format(level),
         'yField': value,
         'tooltip': tooltip}

    _setChartDataPercentages(lvlRes)
    outcome.append(lvlRes)
    return {'data': outcome}
Пример #24
0
    def setNationsData(self, nationID=None, enabled=True, showEmptyRow=True):
        self.__selectedNation = nationID
        vehsItems = g_itemsCache.items.getVehicles(self.__getNationsCriteria())
        data = [self.__getNationEmptyRow()] if showEmptyRow else []
        selectedNationIndex = 0
        counter = 0
        for name in GUI_NATIONS:
            nationIdx = nations.INDICES[name]
            vehiclesAvailable = len(
                vehsItems.filter(REQ_CRITERIA.NATIONS([nationIdx]))) > 0
            if name in nations.AVAILABLE_NAMES and vehiclesAvailable:
                if self.__selectedNation is None:
                    self.__selectedNation = nationIdx
                data.append({'id': nationIdx, 'label': MENU.nations(name)})
                if nationIdx == self.__selectedNation:
                    selectedNationIndex = counter
                counter = counter + 1

        self.as_setNationsDataS(
            self.__getSendingData(data, enabled, selectedNationIndex))
        self.onDataChange(self.__selectedNation, self.__selectedVehClass,
                          self.__selectedVehicle, self.__selectedTmanRole)
Пример #25
0
def getNationName(nation):
    assert nation is not None, 'nation must be specified'
    return i18n.makeString(MENU.nations(nation))
Пример #26
0
def getNationName(nation):
    raise nation is not None or AssertionError('nation must be specified')
    return i18n.makeString(MENU.nations(nation))
Пример #27
0
def getNationName(nation):
    raise nation is not None or AssertionError('nation must be specified')
    return i18n.makeString(MENU.nations(nation))
Пример #28
0
 def nationUserName(self):
     return i18n.makeString(MENU.nations(
         self.nationName)) if self.nationName else ''