def _getDetailedData(self, data):
     return PUtils.getLabelDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_HEADER, [SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_MIDDLEBATTLESCOUNT, BigWorld.wg_getIntegralFormat(data.getMiddleBattlesCount()), CL.SECTION_FORT_TOOLTIPS_MIDDLEBATTLESCOUNT),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_CHAMPIONBATTLESCOUNT, BigWorld.wg_getIntegralFormat(data.getChampionBattlesCount()), CL.SECTION_FORT_TOOLTIPS_CHAMPIONBATTLESCOUNT),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_ABSOLUTEBATTLESCOUNT, BigWorld.wg_getIntegralFormat(data.getAbsoluteBattlesCount()), CL.SECTION_FORT_TOOLTIPS_ABSOLUTEBATTLESCOUNT),
      None,
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_WINSEFFICIENCY28, PUtils.getEfficiencyPercent(self.__sortiesWinsCountLast28d, self.__sortiesBattlesCountLast28d), CL.SECTION_FORT_TOOLTIPS_WINSEFFICIENCY28),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_AVGBATTLESCOUNT28, BigWorld.wg_getIntegralFormat(self.__sortiesBattlesCountLast28d), CL.SECTION_FORT_TOOLTIPS_AVGBATTLESCOUNT28),
      None,
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_LOOTINSORTIES, _resourceParam(BigWorld.wg_getIntegralFormat(data.getLoot())), CL.SECTION_FORT_TOOLTIPS_LOOTINSORTIES)])
    def __getDetailedStatisticsData(self, label, targetData):
        detailedStatisticsData = DetailedStatisticsUtils.getStatistics(targetData)
        detailedStatisticsData[0]['data'].append(DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_CAPTUREPOINTS, BigWorld.wg_getIntegralFormat(targetData.getCapturePoints()), PROFILE.PROFILE_PARAMS_TOOLTIP_CAPTUREPOINTS))
        detailedStatisticsData[0]['data'].append(DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_DROPPEDCAPTUREPOINTS, BigWorld.wg_getIntegralFormat(targetData.getDroppedCapturePoints()), PROFILE.PROFILE_PARAMS_TOOLTIP_DROPPEDCAPTUREPOINTS))
        result = []
        for val in detailedStatisticsData:
            result.append([val])

        return ProfileUtils.getLabelViewTypeDataObject(label, result, ProfileUtils.VIEW_TYPE_TABLES)
def _getDetailedStatisticsData(label, targetData, isCurrentUser):
    detailedStatisticsData = DSUtils.getStatistics(targetData, isCurrentUser)
    additionalDataBlock = detailedStatisticsData[0]['data']
    additionalDataBlock.append(DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_CAPTUREPOINTS, BigWorld.wg_getIntegralFormat(targetData.getCapturePoints()), PROFILE.PROFILE_PARAMS_TOOLTIP_CAPTUREPOINTS))
    additionalDataBlock.append(DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_DROPPEDCAPTUREPOINTS, BigWorld.wg_getIntegralFormat(targetData.getDroppedCapturePoints()), PROFILE.PROFILE_PARAMS_TOOLTIP_DROPPEDCAPTUREPOINTS))
    result = []
    for val in detailedStatisticsData:
        result.append([val])

    return PUtils.getLabelViewTypeDataObject(label, result, PUtils.VIEW_TYPE_TABLES)
def _getDetailedStatisticsData(label, targetData, isCurrentUser, layout = STATISTICS_LAYOUT):
    detailedStatisticsData = DSUtils.getStatistics(targetData, isCurrentUser, layout)
    result = []
    for val in detailedStatisticsData:
        result.append([val])

    return PUtils.getLabelViewTypeDataObject(label, result, PUtils.VIEW_TYPE_TABLES)
 def _receiveVehicleDossier(self, vehicleIntCD, databaseId):
     vehDossier = g_itemsCache.items.getVehicleDossier(vehicleIntCD, databaseId)
     achievementsList = None
     specialMarksStats = []
     if self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_ALL:
         stats = vehDossier.getRandomStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
         if g_itemsCache.items.getItemByCD(int(vehicleIntCD)).level > 4:
             specialMarksStats.append(AchievementsUtils.packAchievement(stats.getAchievement(MARK_ON_GUN_RECORD), vehDossier.getDossierType(), dumpDossier(vehDossier), self._userID is None))
     elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_TEAM:
         stats = vehDossier.getTeam7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_STATICTEAM:
         stats = vehDossier.getRated7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_HISTORICAL:
         stats = vehDossier.getHistoricalStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_FORTIFICATIONS_SORTIES:
         stats = vehDossier.getFortSortiesStats()
     elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_FORTIFICATIONS_BATTLES:
         stats = vehDossier.getFortBattlesStats()
     else:
         raise ValueError('Profile Technique: Unknown battle type: ' + self._battlesType)
     if achievementsList is not None:
         achievementsList.insert(0, specialMarksStats)
     preparedStatistics = DetailedStatisticsUtils.getStatistics(stats, self._userID is None)
     if self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_FORTIFICATIONS_BATTLES:
         preparedStatistics[0]['data'][0]['tooltip'] = PROFILE.PROFILE_PARAMS_TOOLTIP_DIF_FORT_BATTLESCOUNT
     self.as_responseVehicleDossierS({'detailedData': preparedStatistics,
      'achievements': achievementsList})
     return
def _getDetailedStatisticsData(label, targetData, isCurrentUser, layout = STATISTICS_LAYOUT):
    detailedStatisticsData = DSUtils.getStatistics(targetData, isCurrentUser, layout)
    result = []
    for val in detailedStatisticsData:
        result.append([val])

    return PUtils.getLabelViewTypeDataObject(label, result, PUtils.VIEW_TYPE_TABLES)
def _getDataObject(key, i18nFunc, value, ratingOutdated = False, tooltipData = None):
    tooltip = _getTooltip(i18nFunc(key + '/tooltip/header'), i18nFunc(key + '/tooltip/body'), ratingOutdated)
    if ratingOutdated:
        value = text_styles.standard(value)
    else:
        value = text_styles.stats(value)
    return SUtils.getDetailedDataObject(i18nFunc(key), value, tooltip, tooltipData)
Beispiel #8
0
def _getDataObject(key, i18nFunc, value, ratingOutdated=False, tooltipData=None):
    tooltip = _getTooltip(i18nFunc(key + '/tooltip/header'), i18nFunc(key + '/tooltip/body'), ratingOutdated)
    if ratingOutdated:
        value = text_styles.standard(value)
    else:
        value = text_styles.stats(value)
    return SUtils.getDetailedDataObject(i18nFunc(key), value, tooltip, tooltipData)
Beispiel #9
0
def _getDataObjectTruncatedValue(key, i18nFunc, value):
    tooltip = _getTooltip(_ms(i18nFunc(key + '/tooltip/header'), value=value), _ms(i18nFunc(key + '/tooltip/body'), value=value))
    data = SUtils.getDetailedDataObject(i18nFunc(key), value, tooltip)
    data.update({'isUseTextStyle': True,
     'truncateVo': {'isUseTruncate': True,
                    'textStyle': 'statsText',
                    'maxWidthTF': 100}})
    return data
def _getDataObjectTruncatedValue(key, i18nFunc, value):
    tooltip = _getTooltip(_ms(i18nFunc(key + '/tooltip/header'), value=value), _ms(i18nFunc(key + '/tooltip/body'), value=value))
    data = SUtils.getDetailedDataObject(i18nFunc(key), value, tooltip)
    data.update({'isUseTextStyle': True,
     'truncateVo': {'isUseTruncate': True,
                    'textStyle': 'statsText',
                    'maxWidthTF': 100}})
    return data
 def _getDetailedData(self, data):
     targetData = data[0]
     dataList = []
     if isFortificationBattlesEnabled():
         dataList.append(_getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTBATTLES, self.__fortBattlesTargetData, isCurrentUser=self._isCurrentUser, layout=FORT_STATISTICS_LAYOUT))
     dataList.append(_getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTSORTIE, targetData, isCurrentUser=self._isCurrentUser))
     specificData = []
     battlesCount = self.__fortBattlesTargetData.getBattlesCount()
     lossesCount = self.__fortBattlesTargetData.getLossesCount()
     winsCount = self.__fortBattlesTargetData.getWinsCount()
     formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
     specificDataColumn1 = []
     if isFortificationBattlesEnabled():
         specificDataColumn1.append(PUtils.getLabelDataObject(PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTBATTLES, (DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTTOTALBATTLES, formattedBattlesCount, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_BATTLES, PUtils.createToolTipData((BigWorld.wg_getIntegralFormat(winsCount), BigWorld.wg_getIntegralFormat(lossesCount)))),
          DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLESTOTALWINS, PUtils.getFormattedWinsEfficiency(self.__fortBattlesTargetData), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLESWINS),
          DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_LOOTING, self.__fortMiscTargetData.getEnemyBasePlunderNumber(), PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_LOOTING),
          DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_ATTACKS, self.__fortMiscTargetData.getAttackNumber(), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_ATTACKS),
          DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_DEFENCES, self.__fortMiscTargetData.getDefenceHours(), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_DEFENCES))))
     battlesCount = targetData.getBattlesCount()
     lossesCount = targetData.getLossesCount()
     winsCount = targetData.getWinsCount()
     drawsCount = targetData.getDrawsCount()
     formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
     specificDataColumn1.append(PUtils.getLabelDataObject(PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTSORTIE, (DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORT_SORTIE, formattedBattlesCount, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_SORTIE, PUtils.createToolTipData((BigWorld.wg_getIntegralFormat(winsCount), BigWorld.wg_getIntegralFormat(lossesCount), BigWorld.wg_getIntegralFormat(drawsCount)))), DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIETOTALWINS, self._formattedWinsEfficiency, PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIEWINS))))
     specificData.append(specificDataColumn1)
     resourcesDataList = [DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_AVGRESOURCES, self.__avgFortSortiesLoot, PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_AVGRESOURCES), DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_TOTALRESOURCES, BigWorld.wg_getIntegralFormat(self.__totalSortiesLoot), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_TOTALRESOURCES)]
     specificDataColumn2 = []
     if isFortificationBattlesEnabled():
         resourcesDataList.append(DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_TOTALRESOURCES, BigWorld.wg_getIntegralFormat(self.__fortMiscTargetData.getLootInBattles()), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_TOTALRESOURCES))
         resourcesDataList.append(DSUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_MAXRESOURCES, BigWorld.wg_getIntegralFormat(self.__fortMiscTargetData.getMaxLootInBattles()), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_MAXRESOURCES))
     specificDataColumn2.append(PUtils.getLabelDataObject(PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_RESOURCE, resourcesDataList))
     specificData.append(specificDataColumn2)
     dataList.append(PUtils.getLabelViewTypeDataObject(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_SPECIFIC, specificData, PUtils.VIEW_TYPE_TABLES))
     return dataList
Beispiel #12
0
def _getDetailedStatisticsData(label, targetData, isCurrentUser):
    detailedStatisticsData = DSUtils.getStatistics(targetData, isCurrentUser)
    additionalDataBlock = detailedStatisticsData[0]['data']
    additionalDataBlock.append(
        DSUtils.getDetailedDataObject(
            PROFILE.SECTION_STATISTICS_SCORES_CAPTUREPOINTS,
            BigWorld.wg_getIntegralFormat(targetData.getCapturePoints()),
            PROFILE.PROFILE_PARAMS_TOOLTIP_CAPTUREPOINTS))
    additionalDataBlock.append(
        DSUtils.getDetailedDataObject(
            PROFILE.SECTION_STATISTICS_SCORES_DROPPEDCAPTUREPOINTS,
            BigWorld.wg_getIntegralFormat(
                targetData.getDroppedCapturePoints()),
            PROFILE.PROFILE_PARAMS_TOOLTIP_DROPPEDCAPTUREPOINTS))
    result = []
    for val in detailedStatisticsData:
        result.append([val])

    return PUtils.getLabelViewTypeDataObject(label, result,
                                             PUtils.VIEW_TYPE_TABLES)
 def _receiveVehicleDossier(self, vehicleIntCD, databaseId):
     vehDossier = g_itemsCache.items.getVehicleDossier(
         vehicleIntCD, databaseId)
     achievementsList = None
     specialMarksStats = []
     if self._battlesType == PROFILE_DROPDOWN_KEYS.ALL:
         stats = vehDossier.getRandomStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
         if g_itemsCache.items.getItemByCD(int(vehicleIntCD)).level > 4:
             specialMarksStats.append(
                 AchievementsUtils.packAchievement(
                     stats.getAchievement(MARK_ON_GUN_RECORD),
                     vehDossier.getDossierType(), dumpDossier(vehDossier),
                     self._userID is None))
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.TEAM:
         stats = vehDossier.getTeam7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.STATICTEAM:
         stats = vehDossier.getRated7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.HISTORICAL:
         stats = vehDossier.getHistoricalStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_SORTIES:
         stats = vehDossier.getFortSortiesStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_BATTLES:
         stats = vehDossier.getFortBattlesStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.CLAN:
         stats = vehDossier.getGlobalMapStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
         stats = vehDossier.getFalloutStats()
     else:
         raise ValueError('Profile Technique: Unknown battle type: ' +
                          self._battlesType)
     if achievementsList is not None:
         achievementsList.insert(0, specialMarksStats)
     if self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_BATTLES:
         layout = FORT_STATISTICS_LAYOUT
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
         layout = FALLOUT_STATISTICS_LAYOUT
     else:
         layout = STATISTICS_LAYOUT
     preparedStatistics = DetailedStatisticsUtils.getStatistics(
         stats, self._userID is None, layout)
     self.as_responseVehicleDossierS({
         'detailedData': preparedStatistics,
         'achievements': achievementsList
     })
     return
 def _getDetailedData(self, stats):
     defenceCount = stats.getDefenceCount()
     atackCount = stats.getAttackCount()
     sucessDefenceCount = stats.getSuccessDefenceCount()
     sucessAtackCount = stats.getSuccessAttackCount()
     resourceCaptureCount = stats.getResourceCaptureCount()
     resourceLossCount = stats.getResourceLossCount()
     resourcesProfitValue = resourceCaptureCount - resourceLossCount
     return PUtils.getLabelDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_HEADER, [SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTCAPTUREDCOMMANDCENTRES, BigWorld.wg_getIntegralFormat(stats.getEnemyBaseCaptureCount()), CL.SECTION_FORT_TOOLTIPS_COUNTCAPTUREDCOMMANDCENTRES),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTPLUNDEREDENEMYBUILDINGS, BigWorld.wg_getIntegralFormat(stats.getCaptureEnemyBuildingTotalCount()), CL.SECTION_FORT_TOOLTIPS_COUNTPLUNDEREDENEMYBUILDINGS),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTPLUNDEREDALLYBUILDINGS, BigWorld.wg_getIntegralFormat(stats.getLossOwnBuildingTotalCount()), CL.SECTION_FORT_TOOLTIPS_COUNTPLUNDEREDALLYBUILDINGS),
      None,
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_EFFICIENCYOFATTACK, PUtils.formatEfficiency(atackCount, lambda : float(sucessAtackCount) / atackCount), CL.SECTION_FORT_TOOLTIPS_EFFICIENCYOFATTACK, PUtils.createToolTipData([BigWorld.wg_getIntegralFormat(sucessAtackCount), BigWorld.wg_getIntegralFormat(atackCount)])),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_EFFICIENCYOFDEFENCE, PUtils.formatEfficiency(defenceCount, lambda : float(sucessDefenceCount) / defenceCount), CL.SECTION_FORT_TOOLTIPS_EFFICIENCYOFDEFENCE, PUtils.createToolTipData([BigWorld.wg_getIntegralFormat(sucessDefenceCount), BigWorld.wg_getIntegralFormat(defenceCount)])),
      None,
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTPROMRES, _resourceParam(BigWorld.wg_getIntegralFormat(resourceCaptureCount)), CL.SECTION_FORT_TOOLTIPS_COUNTPROMRES),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_LOSTPROMRES, _resourceParam(BigWorld.wg_getIntegralFormat(resourceLossCount)), CL.SECTION_FORT_TOOLTIPS_LOSTPROMRES),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_PROFIT, _resourceParam(BigWorld.wg_getIntegralFormat(resourcesProfitValue)), CL.SECTION_FORT_TOOLTIPS_PROFIT),
      None,
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_CHEMPIONLVLBATTLES, BigWorld.wg_getIntegralFormat(self.__fbBattlesCountAbs), CL.SECTION_FORT_TOOLTIPS_CHEMPIONLVLBATTLES),
      SUtils.getDetailedDataObject(CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_ABSOLUTELVLBATTLES, BigWorld.wg_getIntegralFormat(self.__fbBattlesCountChemp), CL.SECTION_FORT_TOOLTIPS_ABSOLUTELVLBATTLES)])
 def _receiveVehicleDossier(self, vehicleIntCD, databaseId):
     vehDossier = g_itemsCache.items.getVehicleDossier(vehicleIntCD, databaseId)
     achievementsList = None
     specialMarksStats = []
     if self._battlesType == PROFILE_DROPDOWN_KEYS.ALL:
         stats = vehDossier.getRandomStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
         if g_itemsCache.items.getItemByCD(int(vehicleIntCD)).level > 4:
             specialMarksStats.append(AchievementsUtils.packAchievement(stats.getAchievement(MARK_ON_GUN_RECORD), vehDossier.getDossierType(), dumpDossier(vehDossier), self._userID is None))
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.TEAM:
         stats = vehDossier.getTeam7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.STATICTEAM:
         stats = vehDossier.getRated7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.HISTORICAL:
         stats = vehDossier.getHistoricalStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_SORTIES:
         stats = vehDossier.getFortSortiesStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_BATTLES:
         stats = vehDossier.getFortBattlesStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.CLAN:
         stats = vehDossier.getGlobalMapStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
         stats = vehDossier.getFalloutStats()
     else:
         raise ValueError('Profile Technique: Unknown battle type: ' + self._battlesType)
     if achievementsList is not None:
         achievementsList.insert(0, specialMarksStats)
     if self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_BATTLES:
         layout = FORT_STATISTICS_LAYOUT
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
         layout = FALLOUT_STATISTICS_LAYOUT
     else:
         layout = STATISTICS_LAYOUT
     preparedStatistics = DetailedStatisticsUtils.getStatistics(stats, self._userID is None, layout)
     self.as_responseVehicleDossierS({'detailedData': preparedStatistics,
      'achievements': achievementsList})
     return
Beispiel #16
0
 def _getDetailedData(self, data):
     return PUtils.getLabelDataObject(
         CL.SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_HEADER, [
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_MIDDLEBATTLESCOUNT,
                 BigWorld.wg_getIntegralFormat(
                     data.getMiddleBattlesCount()),
                 CL.SECTION_FORT_TOOLTIPS_MIDDLEBATTLESCOUNT),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_CHAMPIONBATTLESCOUNT,
                 BigWorld.wg_getIntegralFormat(
                     data.getChampionBattlesCount()),
                 CL.SECTION_FORT_TOOLTIPS_CHAMPIONBATTLESCOUNT),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_ABSOLUTEBATTLESCOUNT,
                 BigWorld.wg_getIntegralFormat(
                     data.getAbsoluteBattlesCount()),
                 CL.SECTION_FORT_TOOLTIPS_ABSOLUTEBATTLESCOUNT), None,
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_WINSEFFICIENCY28,
                 PUtils.getEfficiencyPercent(
                     self.__sortiesWinsCountLast28d,
                     self.__sortiesBattlesCountLast28d),
                 CL.SECTION_FORT_TOOLTIPS_WINSEFFICIENCY28),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_AVGBATTLESCOUNT28,
                 BigWorld.wg_getIntegralFormat(
                     self.__sortiesBattlesCountLast28d),
                 CL.SECTION_FORT_TOOLTIPS_AVGBATTLESCOUNT28), None,
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_SORTIES_DETAILED_LOOTINSORTIES,
                 _resourceParam(
                     BigWorld.wg_getIntegralFormat(data.getLoot())),
                 CL.SECTION_FORT_TOOLTIPS_LOOTINSORTIES)
         ])
    def _sendAccountData(self, targetData, accountDossier):
        formattedWinsEfficiency = ProfileUtils.getFormattedWinsEfficiency(targetData)
        dmgDealt = targetData.getDamageDealt()
        dmgReceived = targetData.getDamageReceived()
        damageEfficiency = BigWorld.wg_getNiceNumberFormat(ProfileUtils.getValueOrUnavailable(targetData.getDamageEfficiency()))
        damageBlockedByArmor = targetData.getDamageBlockedByArmor()
        potentialDamageReceived = targetData.getPotentialDamageReceived()
        pResDmg = potentialDamageReceived - damageBlockedByArmor
        armorUsingEfficiency = ProfileUtils.getValueOrUnavailable(targetData.getArmorUsingEfficiency())
        avgXP = ProfileUtils.getValueOrUnavailable(targetData.getAvgXP())
        avgDmg = ProfileUtils.getValueOrUnavailable(targetData.getAvgDamage())
        maxXP = targetData.getMaxXp()
        maxXP_formattedStr = BigWorld.wg_getIntegralFormat(maxXP)
        armorUsingToolTipData = ProfileUtils.createToolTipData([ProfileUtils.getAvgDamageBlockedValue(targetData)])
        avgAssistDmg = BigWorld.wg_getNiceNumberFormat(ProfileUtils.getValueOrUnavailable(targetData.getDamageAssistedEfficiency()))
        vehicles = targetData.getVehicles()
        vehiclesLen = len(vehicles)
        headerParams = []
        dataList = []
        if self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_TEAM:
            headerText = i18n.makeString(PROFILE.SECTION_STATISTICS_HEADERTEXT_TEAM)
            headerParams.append(ProfileUtils.getTotalBattlesHeaderParam(targetData, PROFILE.SECTION_STATISTICS_SCORES_TOTALBATTLES, PROFILE.PROFILE_PARAMS_TOOLTIP_BATTLESCOUNT))
            headerParams.append(ProfileUtils.packLditItemData(damageEfficiency, PROFILE.SECTION_STATISTICS_DETAILED_DAMAGECOEFFICIENT, PROFILE.PROFILE_PARAMS_TOOLTIP_DAMAGECOEFF, 'dmgRatio40x32.png', {'tooltipData': ProfileUtils.createToolTipData((BigWorld.wg_getIntegralFormat(dmgDealt), BigWorld.wg_getIntegralFormat(dmgReceived)))}, HeaderItemsTypes.VALUES))
            headerParams.append(self.__packAvgDmgLditItemData(avgDmg))
            headerParams.append(self.__packAvgXPLditItemData(avgXP))
            headerParams.append(ProfileUtils.packLditItemData(avgAssistDmg, PROFILE.SECTION_STATISTICS_SCORES_AVGASSISTEDDAMAGE, PROFILE.PROFILE_PARAMS_TOOLTIP_AVGASSISTEDDAMAGE, 'assist40x32.png'))
            headerParams.append(ProfileUtils.packLditItemData(BigWorld.wg_getNiceNumberFormat(armorUsingEfficiency), PROFILE.SECTION_STATISTICS_SCORES_ARMORUSING, PROFILE.PROFILE_PARAMS_TOOLTIP_ARMORUSING, 'armorUsing40x32.png', {'tooltipData': armorUsingToolTipData}, HeaderItemsTypes.VALUES))
            dataList.append(self.__getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_DETAILED, targetData))
            dataList.append(self.__getChartsData(targetData))
        elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_HISTORICAL:
            headerParams.append(ProfileUtils.getTotalBattlesHeaderParam(targetData, PROFILE.SECTION_STATISTICS_SCORES_TOTALBATTLES, PROFILE.PROFILE_PARAMS_TOOLTIP_BATTLESCOUNT))
            headerText = i18n.makeString(PROFILE.SECTION_STATISTICS_HEADERTEXT_HISTORICAL)
            histBattleFieldAchievesCount = 0
            for record in layouts.HISTORY_BATTLEFIELD_GROUP:
                achieve = targetData.getAchievement(record)
                if achieve.isInDossier():
                    histBattleFieldAchievesCount += 1

            histBattleFieldAchievesCount = BigWorld.wg_getIntegralFormat(histBattleFieldAchievesCount)
            histBattleFieldAchievesCountTotal = BigWorld.wg_getIntegralFormat(len(layouts.HISTORY_BATTLEFIELD_GROUP))
            headerParams.append(ProfileUtils.packLditItemData(formattedWinsEfficiency, PROFILE.SECTION_STATISTICS_SCORES_TOTALWINS, PROFILE.PROFILE_PARAMS_TOOLTIP_WINS, 'wins40x32.png'))
            headerParams.append(ProfileUtils.packLditItemData(histBattleFieldAchievesCount, PROFILE.SECTION_STATISTICS_SCORES_ACHIEVEMENTSCOUNT, PROFILE.PROFILE_PARAMS_TOOLTIP_ACHIEVEMENTSCOUNT, 'honors40x32.png', {'total': histBattleFieldAchievesCountTotal}, HeaderItemsTypes.RATIO))
            headerParams.append(ProfileUtils.packLditItemData(BigWorld.wg_getIntegralFormat(vehiclesLen), PROFILE.SECTION_STATISTICS_SCORES_USEDTECHNICS, PROFILE.PROFILE_PARAMS_TOOLTIP_USEDTECHNICS, 'techRatio40x32.png'))
            dataList.append(self.__getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_DETAILED, targetData))
        elif self._battlesType == PROFILE.PROFILE_DROPDOWN_LABELS_FORTIFICATIONS:
            headerText = i18n.makeString(PROFILE.SECTION_STATISTICS_HEADERTEXT_FORTIFICATIONS)
            fortBattlesTargetData = accountDossier.getFortBattlesStats()
            fortMiscTargetData = accountDossier.getFortMiscStats()
            if isFortificationBattlesEnabled():
                headerParams.append(ProfileUtils.getTotalBattlesHeaderParam(fortBattlesTargetData, PROFILE.SECTION_STATISTICS_SCORES_FORT_BATTLES, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_BATTLES))
                headerParams.append(ProfileUtils.packLditItemData(ProfileUtils.getFormattedWinsEfficiency(fortBattlesTargetData), PROFILE.SECTION_STATISTICS_SCORES_FORT_BATTLESWINSEFFICIENCY, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_BATTLESWINSEFFICIENCY, 'wins40x32.png'))
            else:
                headerParams.append(ProfileUtils.packLditItemData(str(ProfileUtils.UNAVAILABLE_VALUE), PROFILE.SECTION_STATISTICS_SCORES_FORT_BATTLES, PROFILE.PROFILE_PARAMS_TOOLTIP_UNAVAILABLE_FORT_BATTLES, 'battles40x32.png'))
                headerParams.append(ProfileUtils.packLditItemData(str(ProfileUtils.UNAVAILABLE_VALUE), PROFILE.SECTION_STATISTICS_SCORES_FORT_BATTLESWINSEFFICIENCY, PROFILE.PROFILE_PARAMS_TOOLTIP_UNAVAILABLE_FORT_WINSEFFICIENCY, 'wins40x32.png'))
            headerParams.append(ProfileUtils.getTotalBattlesHeaderParam(targetData, PROFILE.SECTION_STATISTICS_SCORES_FORT_SORTIE, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_SORTIE))
            headerParams.append(ProfileUtils.packLditItemData(formattedWinsEfficiency, PROFILE.SECTION_STATISTICS_SCORES_FORT_SORTIEWINSEFFICIENCY, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_SORTIEWINSEFFICIENCY, 'wins40x32.png'))
            totalSortiesLoot = fortMiscTargetData.getLootInSorties()
            avgFortSortiesLoot = self.__getFortAvgLoot(targetData, totalSortiesLoot)
            headerParams.append(ProfileUtils.packLditItemData(str(avgFortSortiesLoot), PROFILE.SECTION_STATISTICS_SCORES_FORT_RESOURCE, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_RESOURCE, 'resources40x32.png'))
            if isFortificationBattlesEnabled():
                fortBattlesDetaildStatisticsTabData = self.__getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTBATTLES, fortBattlesTargetData)
                fortBattlesDetaildStatisticsTabData['data'][0][0]['data'][0]['tooltip'] = PROFILE.PROFILE_PARAMS_TOOLTIP_DIF_FORT_BATTLESCOUNT
                dataList.append(fortBattlesDetaildStatisticsTabData)
            dataList.append(self.__getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTSORTIE, targetData))
            specificData = []
            battlesCount = fortBattlesTargetData.getBattlesCount()
            lossesCount = fortBattlesTargetData.getLossesCount()
            winsCount = fortBattlesTargetData.getWinsCount()
            battlesToolTipData = [BigWorld.wg_getIntegralFormat(winsCount), BigWorld.wg_getIntegralFormat(lossesCount)]
            formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
            specificDataColumn1 = []
            if isFortificationBattlesEnabled():
                specificDataColumn1.append(ProfileUtils.getLabelDataObject(PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTBATTLES, [DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTTOTALBATTLES, formattedBattlesCount, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_BATTLES, ProfileUtils.createToolTipData(battlesToolTipData)),
                 DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLESTOTALWINS, ProfileUtils.getFormattedWinsEfficiency(fortBattlesTargetData), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLESWINS),
                 DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_LOOTING, fortMiscTargetData.getEnemyBasePlunderNumber(), PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_LOOTING),
                 DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_ATTACKS, fortMiscTargetData.getAttackNumber(), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_ATTACKS),
                 DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_DEFENCES, fortMiscTargetData.getDefenceHours(), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_DEFENCES)]))
            battlesCount = targetData.getBattlesCount()
            lossesCount = targetData.getLossesCount()
            winsCount = targetData.getWinsCount()
            drawsCount = ProfileUtils.getDrawCount(battlesCount, lossesCount, winsCount)
            battlesToolTipData = [BigWorld.wg_getIntegralFormat(winsCount), BigWorld.wg_getIntegralFormat(lossesCount), BigWorld.wg_getIntegralFormat(drawsCount)]
            formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
            specificDataColumn1.append(ProfileUtils.getLabelDataObject(PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTSORTIE, [DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORT_SORTIE, formattedBattlesCount, PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_SORTIE, ProfileUtils.createToolTipData(battlesToolTipData)), DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIETOTALWINS, formattedWinsEfficiency, PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIEWINS)]))
            specificData.append(specificDataColumn1)
            resourcesDataList = []
            resourcesDataList.append(DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_AVGRESOURCES, avgFortSortiesLoot, PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_AVGRESOURCES))
            resourcesDataList.append(DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_TOTALRESOURCES, BigWorld.wg_getIntegralFormat(totalSortiesLoot), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_TOTALRESOURCES))
            if isFortificationBattlesEnabled():
                resourcesDataList.append(DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_TOTALRESOURCES, BigWorld.wg_getIntegralFormat(fortMiscTargetData.getLootInBattles()), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_TOTALRESOURCES))
                resourcesDataList.append(DetailedStatisticsUtils.getDetailedDataObject(PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_MAXRESOURCES, BigWorld.wg_getIntegralFormat(fortMiscTargetData.getMaxLootInBattles()), PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_MAXRESOURCES))
            specificData.append([ProfileUtils.getLabelDataObject(PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_RESOURCE, resourcesDataList)])
            dataList.append(ProfileUtils.getLabelViewTypeDataObject(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_SPECIFIC, specificData, ProfileUtils.VIEW_TYPE_TABLES))
        else:
            maxExpToolTipData = ProfileUtils.getVehicleRecordTooltipData(targetData.getMaxXpVehicle)
            headerText = i18n.makeString(PROFILE.SECTION_STATISTICS_HEADERTEXT_ALL)
            headerParams.append(ProfileUtils.getTotalBattlesHeaderParam(targetData, PROFILE.SECTION_STATISTICS_SCORES_TOTALBATTLES, PROFILE.PROFILE_PARAMS_TOOLTIP_BATTLESCOUNT))
            headerParams.append(ProfileUtils.packLditItemData(formattedWinsEfficiency, PROFILE.SECTION_STATISTICS_SCORES_TOTALWINS, PROFILE.PROFILE_PARAMS_TOOLTIP_WINS, 'wins40x32.png'))
            headerParams.append(self.__packAvgDmgLditItemData(avgDmg))
            headerParams.append(self.__packAvgXPLditItemData(avgXP))
            headerParams.append(ProfileUtils.packLditItemData(maxXP_formattedStr, PROFILE.SECTION_STATISTICS_SCORES_MAXEXPERIENCE, PROFILE.PROFILE_PARAMS_TOOLTIP_MAXEXP, 'maxExp40x32.png', {'tooltipData': maxExpToolTipData}, HeaderItemsTypes.VALUES))
            headerParams.append(ProfileUtils.packLditItemData(BigWorld.wg_getIntegralFormat(targetData.getMarksOfMastery()[3]), PROFILE.SECTION_STATISTICS_SCORES_COOLSIGNS, PROFILE.PROFILE_PARAMS_TOOLTIP_MARKOFMASTERY, 'markOfMastery40x32.png', {'total': BigWorld.wg_getIntegralFormat(vehiclesLen)}, HeaderItemsTypes.RATIO))
            dataList.append(self.__getDetailedStatisticsData(PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_DETAILED, targetData))
            dataList.append(self.__getChartsData(targetData))
        bodyParams = {'dataList': dataList}
        self.as_responseDossierS(self._battlesType, {'headerText': headerText,
         'headerParams': headerParams,
         'bodyParams': bodyParams})
Beispiel #18
0
 def _receiveVehicleDossier(self, vehicleIntCD, databaseId):
     vehDossier = self.itemsCache.items.getVehicleDossier(
         vehicleIntCD, databaseId)
     achievementsList = None
     specialMarksStats = []
     specialRankedStats = []
     if self._battlesType in (PROFILE_DROPDOWN_KEYS.ALL,
                              PROFILE_DROPDOWN_KEYS.EPIC_RANDOM):
         achievementsEnabled = True
         if self._battlesType == PROFILE_DROPDOWN_KEYS.ALL:
             stats = vehDossier.getRandomStats()
         elif self._battlesType == PROFILE_DROPDOWN_KEYS.EPIC_RANDOM:
             stats = vehDossier.getEpicRandomStats()
             achievementsEnabled = self.lobbyContext.getServerSettings(
             ).isEpicRandomAchievementsEnabled()
         if achievementsEnabled:
             achievementsList = self.__getAchievementsList(
                 stats, vehDossier)
         if self.__showMarksOnGun(vehicleIntCD):
             if self._battlesType != PROFILE_DROPDOWN_KEYS.EPIC_RANDOM or self.lobbyContext.getServerSettings(
             ).isEpicRandomMarksOnGunEnabled():
                 specialMarksStats.append(
                     self.__packAchievement(stats, vehDossier,
                                            MARK_ON_GUN_RECORD))
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.TEAM:
         stats = vehDossier.getTeam7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.STATICTEAM:
         stats = vehDossier.getRated7x7Stats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.HISTORICAL:
         stats = vehDossier.getHistoricalStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_SORTIES:
         stats = vehDossier.getFortSortiesStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_BATTLES:
         stats = vehDossier.getFortBattlesStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.CLAN:
         stats = vehDossier.getGlobalMapStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
         stats = vehDossier.getFalloutStats()
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.RANKED:
         stats = vehDossier.getRankedStats()
         achievementsList = self.__getAchievementsList(stats, vehDossier)
         specialRankedStats.append(
             self.__packAchievement(stats, vehDossier, HONORED_RANK_RECORD))
     else:
         raise ValueError('Profile Technique: Unknown battle type: ' +
                          self._battlesType)
     if achievementsList is not None:
         achievementsList.insert(0, specialRankedStats)
         achievementsList.insert(1, specialMarksStats)
     if self._battlesType == PROFILE_DROPDOWN_KEYS.FORTIFICATIONS_BATTLES:
         layout = FORT_STATISTICS_LAYOUT
     elif self._battlesType == PROFILE_DROPDOWN_KEYS.FALLOUT:
         layout = FALLOUT_STATISTICS_LAYOUT
     else:
         layout = STATISTICS_LAYOUT
     preparedStatistics = DetailedStatisticsUtils.getStatistics(
         stats, self._userID is None, layout)
     self._selectedVehicleIntCD = vehicleIntCD
     self.as_responseVehicleDossierS({
         'detailedData': preparedStatistics,
         'achievements': achievementsList
     })
     return
Beispiel #19
0
 def _getDetailedData(self, stats):
     defenceCount = stats.getDefenceCount()
     atackCount = stats.getAttackCount()
     sucessDefenceCount = stats.getSuccessDefenceCount()
     sucessAtackCount = stats.getSuccessAttackCount()
     resourceCaptureCount = stats.getResourceCaptureCount()
     resourceLossCount = stats.getResourceLossCount()
     resourcesProfitValue = resourceCaptureCount - resourceLossCount
     return PUtils.getLabelDataObject(
         CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_HEADER, [
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTCAPTUREDCOMMANDCENTRES,
                 BigWorld.wg_getIntegralFormat(
                     stats.getEnemyBaseCaptureCount()),
                 CL.SECTION_FORT_TOOLTIPS_COUNTCAPTUREDCOMMANDCENTRES),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTPLUNDEREDENEMYBUILDINGS,
                 BigWorld.wg_getIntegralFormat(
                     stats.getCaptureEnemyBuildingTotalCount()),
                 CL.SECTION_FORT_TOOLTIPS_COUNTPLUNDEREDENEMYBUILDINGS),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTPLUNDEREDALLYBUILDINGS,
                 BigWorld.wg_getIntegralFormat(
                     stats.getLossOwnBuildingTotalCount()),
                 CL.SECTION_FORT_TOOLTIPS_COUNTPLUNDEREDALLYBUILDINGS),
             None,
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_EFFICIENCYOFATTACK,
                 PUtils.formatEfficiency(
                     atackCount,
                     lambda: float(sucessAtackCount) / atackCount),
                 CL.SECTION_FORT_TOOLTIPS_EFFICIENCYOFATTACK,
                 PUtils.createToolTipData([
                     BigWorld.wg_getIntegralFormat(sucessAtackCount),
                     BigWorld.wg_getIntegralFormat(atackCount)
                 ])),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_EFFICIENCYOFDEFENCE,
                 PUtils.formatEfficiency(
                     defenceCount,
                     lambda: float(sucessDefenceCount) / defenceCount),
                 CL.SECTION_FORT_TOOLTIPS_EFFICIENCYOFDEFENCE,
                 PUtils.createToolTipData([
                     BigWorld.wg_getIntegralFormat(sucessDefenceCount),
                     BigWorld.wg_getIntegralFormat(defenceCount)
                 ])), None,
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_COUNTPROMRES,
                 _resourceParam(
                     BigWorld.wg_getIntegralFormat(resourceCaptureCount)),
                 CL.SECTION_FORT_TOOLTIPS_COUNTPROMRES),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_LOSTPROMRES,
                 _resourceParam(
                     BigWorld.wg_getIntegralFormat(resourceLossCount)),
                 CL.SECTION_FORT_TOOLTIPS_LOSTPROMRES),
             SUtils.getDetailedDataObject(
                 CL.SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_PROFIT,
                 _resourceParam(
                     BigWorld.wg_getIntegralFormat(resourcesProfitValue)),
                 CL.SECTION_FORT_TOOLTIPS_PROFIT), None,
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_CHEMPIONLVLBATTLES,
                 BigWorld.wg_getIntegralFormat(self.__fbBattlesCountAbs),
                 CL.SECTION_FORT_TOOLTIPS_CHEMPIONLVLBATTLES),
             SUtils.getDetailedDataObject(
                 CL.
                 SECTION_FORT_VIEW_STATISTICS_BATTLES_DETAILED_ABSOLUTELVLBATTLES,
                 BigWorld.wg_getIntegralFormat(self.__fbBattlesCountChemp),
                 CL.SECTION_FORT_TOOLTIPS_ABSOLUTELVLBATTLES)
         ])
Beispiel #20
0
 def _getDetailedData(self, data):
     targetData = data[0]
     dataList = []
     if isFortificationBattlesEnabled():
         fortBattlesDetaildStatisticsTabData = _getDetailedStatisticsData(
             PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTBATTLES,
             self.__fortBattlesTargetData,
             isCurrentUser=self._isCurrentUser)
         discToolTip = PROFILE.PROFILE_PARAMS_TOOLTIP_DIF_FORT_BATTLESCOUNT
         fortBattlesDetaildStatisticsTabData['data'][0][0]['data'][0][
             'tooltip'] = discToolTip
         dataList.append(fortBattlesDetaildStatisticsTabData)
     dataList.append(
         _getDetailedStatisticsData(
             PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTSORTIE,
             targetData,
             isCurrentUser=self._isCurrentUser))
     specificData = []
     battlesCount = self.__fortBattlesTargetData.getBattlesCount()
     lossesCount = self.__fortBattlesTargetData.getLossesCount()
     winsCount = self.__fortBattlesTargetData.getWinsCount()
     battlesToolTipData = [
         BigWorld.wg_getIntegralFormat(winsCount),
         BigWorld.wg_getIntegralFormat(lossesCount)
     ]
     formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
     specificDataColumn1 = []
     if isFortificationBattlesEnabled():
         specificDataColumn1.append(
             PUtils.getLabelDataObject(
                 PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTBATTLES, [
                     DSUtils.getDetailedDataObject(
                         PROFILE.SECTION_STATISTICS_SCORES_FORTTOTALBATTLES,
                         formattedBattlesCount,
                         PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_BATTLES,
                         PUtils.createToolTipData(battlesToolTipData)),
                     DSUtils.getDetailedDataObject(
                         PROFILE.
                         SECTION_STATISTICS_SCORES_FORTBATTLESTOTALWINS,
                         PUtils.getFormattedWinsEfficiency(
                             self.__fortBattlesTargetData),
                         PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLESWINS),
                     DSUtils.getDetailedDataObject(
                         PROFILE.SECTION_STATISTICS_SCORES_LOOTING,
                         self.__fortMiscTargetData.
                         getEnemyBasePlunderNumber(),
                         PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_LOOTING),
                     DSUtils.getDetailedDataObject(
                         PROFILE.
                         SECTION_STATISTICS_SCORES_FORTBATTLES_ATTACKS,
                         self.__fortMiscTargetData.getAttackNumber(),
                         PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_ATTACKS
                     ),
                     DSUtils.getDetailedDataObject(
                         PROFILE.
                         SECTION_STATISTICS_SCORES_FORTBATTLES_DEFENCES,
                         self.__fortMiscTargetData.getDefenceHours(),
                         PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_DEFENCES
                     )
                 ]))
     battlesCount = targetData.getBattlesCount()
     lossesCount = targetData.getLossesCount()
     winsCount = targetData.getWinsCount()
     drawsCount = PUtils.getDrawCount(battlesCount, lossesCount, winsCount)
     battlesToolTipData = [
         BigWorld.wg_getIntegralFormat(winsCount),
         BigWorld.wg_getIntegralFormat(lossesCount),
         BigWorld.wg_getIntegralFormat(drawsCount)
     ]
     formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
     specificDataColumn1.append(
         PUtils.getLabelDataObject(
             PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTSORTIE, [
                 DSUtils.getDetailedDataObject(
                     PROFILE.SECTION_STATISTICS_SCORES_FORT_SORTIE,
                     formattedBattlesCount,
                     PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_SORTIE,
                     PUtils.createToolTipData(battlesToolTipData)),
                 DSUtils.getDetailedDataObject(
                     PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIETOTALWINS,
                     self._formattedWinsEfficiency,
                     PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIEWINS)
             ]))
     specificData.append(specificDataColumn1)
     resourcesDataList = []
     resourcesDataList.append(
         DSUtils.getDetailedDataObject(
             PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_AVGRESOURCES,
             self.__avgFortSortiesLoot,
             PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_AVGRESOURCES))
     resourcesDataList.append(
         DSUtils.getDetailedDataObject(
             PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_TOTALRESOURCES,
             BigWorld.wg_getIntegralFormat(self.__totalSortiesLoot),
             PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_TOTALRESOURCES))
     if isFortificationBattlesEnabled():
         resourcesDataList.append(
             DSUtils.getDetailedDataObject(
                 PROFILE.
                 SECTION_STATISTICS_SCORES_FORTBATTLES_TOTALRESOURCES,
                 BigWorld.wg_getIntegralFormat(
                     self.__fortMiscTargetData.getLootInBattles()),
                 PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_TOTALRESOURCES))
         resourcesDataList.append(
             DSUtils.getDetailedDataObject(
                 PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_MAXRESOURCES,
                 BigWorld.wg_getIntegralFormat(
                     self.__fortMiscTargetData.getMaxLootInBattles()),
                 PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_MAXRESOURCES))
     specificData.append([
         PUtils.getLabelDataObject(
             PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_RESOURCE,
             resourcesDataList)
     ])
     dataList.append(
         PUtils.getLabelViewTypeDataObject(
             PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_SPECIFIC,
             specificData, PUtils.VIEW_TYPE_TABLES))
     return dataList
Beispiel #21
0
 def _getDetailedData(self, data):
     targetData = data[0]
     dataList = []
     if g_lobbyContext.getServerSettings().isFortsEnabled():
         dataList.append(
             _getDetailedStatisticsData(
                 PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTBATTLES,
                 self.__fortBattlesTargetData,
                 isCurrentUser=self._isCurrentUser,
                 layout=FORT_STATISTICS_LAYOUT))
     dataList.append(
         _getDetailedStatisticsData(
             PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_FORTSORTIE,
             targetData,
             isCurrentUser=self._isCurrentUser))
     specificData = []
     battlesCount = self.__fortBattlesTargetData.getBattlesCount()
     lossesCount = self.__fortBattlesTargetData.getLossesCount()
     winsCount = self.__fortBattlesTargetData.getWinsCount()
     formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
     specificDataColumn1 = []
     if g_lobbyContext.getServerSettings().isFortsEnabled():
         specificDataColumn1.append(
             PUtils.getLabelDataObject(
                 PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTBATTLES,
                 (DSUtils.getDetailedDataObject(
                     PROFILE.SECTION_STATISTICS_SCORES_FORTTOTALBATTLES,
                     formattedBattlesCount,
                     PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_BATTLES,
                     PUtils.createToolTipData(
                         (BigWorld.wg_getIntegralFormat(winsCount),
                          BigWorld.wg_getIntegralFormat(lossesCount)))),
                  DSUtils.getDetailedDataObject(
                      PROFILE.
                      SECTION_STATISTICS_SCORES_FORTBATTLESTOTALWINS,
                      PUtils.getFormattedWinsEfficiency(
                          self.__fortBattlesTargetData),
                      PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLESWINS),
                  DSUtils.getDetailedDataObject(
                      PROFILE.SECTION_STATISTICS_SCORES_LOOTING,
                      self.__fortMiscTargetData.getEnemyBasePlunderNumber(),
                      PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_LOOTING),
                  DSUtils.getDetailedDataObject(
                      PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_ATTACKS,
                      self.__fortMiscTargetData.getAttackNumber(),
                      PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_ATTACKS),
                  DSUtils.getDetailedDataObject(
                      PROFILE.
                      SECTION_STATISTICS_SCORES_FORTBATTLES_DEFENCES,
                      self.__fortMiscTargetData.getDefenceHours(),
                      PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_DEFENCES)
                  )))
     battlesCount = targetData.getBattlesCount()
     lossesCount = targetData.getLossesCount()
     winsCount = targetData.getWinsCount()
     drawsCount = targetData.getDrawsCount()
     formattedBattlesCount = BigWorld.wg_getIntegralFormat(battlesCount)
     specificDataColumn1.append(
         PUtils.getLabelDataObject(
             PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_FORTSORTIE,
             (DSUtils.getDetailedDataObject(
                 PROFILE.SECTION_STATISTICS_SCORES_FORT_SORTIE,
                 formattedBattlesCount,
                 PROFILE.PROFILE_PARAMS_TOOLTIP_FORT_SORTIE,
                 PUtils.createToolTipData(
                     (BigWorld.wg_getIntegralFormat(winsCount),
                      BigWorld.wg_getIntegralFormat(lossesCount),
                      BigWorld.wg_getIntegralFormat(drawsCount)))),
              DSUtils.getDetailedDataObject(
                  PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIETOTALWINS,
                  self._formattedWinsEfficiency,
                  PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIEWINS))))
     specificData.append(specificDataColumn1)
     resourcesDataList = [
         DSUtils.getDetailedDataObject(
             PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_AVGRESOURCES,
             self.__avgFortSortiesLoot,
             PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_AVGRESOURCES),
         DSUtils.getDetailedDataObject(
             PROFILE.SECTION_STATISTICS_SCORES_FORTSORTIES_TOTALRESOURCES,
             BigWorld.wg_getIntegralFormat(self.__totalSortiesLoot),
             PROFILE.PROFILE_PARAMS_TOOLTIP_FORTSORTIES_TOTALRESOURCES)
     ]
     specificDataColumn2 = []
     if g_lobbyContext.getServerSettings().isFortsEnabled():
         resourcesDataList.append(
             DSUtils.getDetailedDataObject(
                 PROFILE.
                 SECTION_STATISTICS_SCORES_FORTBATTLES_TOTALRESOURCES,
                 BigWorld.wg_getIntegralFormat(
                     self.__fortMiscTargetData.getLootInBattles()),
                 PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_TOTALRESOURCES))
         resourcesDataList.append(
             DSUtils.getDetailedDataObject(
                 PROFILE.SECTION_STATISTICS_SCORES_FORTBATTLES_MAXRESOURCES,
                 BigWorld.wg_getIntegralFormat(
                     self.__fortMiscTargetData.getMaxLootInBattles()),
                 PROFILE.PROFILE_PARAMS_TOOLTIP_FORTBATTLES_MAXRESOURCES))
     specificDataColumn2.append(
         PUtils.getLabelDataObject(
             PROFILE.SECTION_STATISTICS_BODYPARAMS_LABEL_RESOURCE,
             resourcesDataList))
     specificData.append(specificDataColumn2)
     dataList.append(
         PUtils.getLabelViewTypeDataObject(
             PROFILE.SECTION_STATISTICS_BODYBAR_LABEL_SPECIFIC,
             specificData, PUtils.VIEW_TYPE_TABLES))
     return dataList