Ejemplo n.º 1
0
 def __packAwardsBlock(self, quest):
     subBlocks = []
     if quest.isCompleted():
         middleTitle = formatters.packImageTextBlockData(
             title=text_styles.statInfo(
                 backport.text(R.strings.tooltips.battleTypes.ranked.rank.
                               award.received())),
             img=backport.image(
                 R.images.gui.maps.icons.buttons.checkmark()),
             imgPadding=formatters.packPadding(left=2, top=3),
             txtOffset=20)
     else:
         if quest.isQualificationQuest():
             middleTitleText = backport.text(
                 R.strings.tooltips.battleTypes.ranked.rank.
                 qualificationReward(),
                 count=quest.getQualificationBattlesCount())
         else:
             middleTitleText = backport.text(
                 R.strings.tooltips.battleTypes.ranked.rank.reward())
         middleTitle = formatters.packTextBlockData(
             text_styles.middleTitle(middleTitleText))
     listData = getRankedAwardsFormatter().getFormattedBonuses(
         quest.getBonuses())
     awardsWidth = len(listData) * _AWARD_STEP
     if awardsWidth < _TOOLTIP_MIN_WIDTH:
         awardsWidth = _TOOLTIP_MIN_WIDTH
     else:
         awardsWidth += _AWARDS_RIGHT_PADDING
     self._setWidth(awardsWidth)
     subBlocks.append(middleTitle)
     subBlocks.append(
         formatters.packGroupBlockData(
             listData, padding=formatters.packPadding(top=15)))
     return subBlocks
Ejemplo n.º 2
0
    def __getLeaguesData(self):
        leaguesRewardsData = self.__rankedController.getLeagueRewards()
        result = []
        formatter = getRankedAwardsFormatter()

        def findAndPreformatBonus(awards, bonusName):
            bonus = findFirst(lambda x: x.getName() == bonusName, awards)
            if bonus is not None:
                bonus = first(formatter.getPreformattedBonuses([bonus]))
            return bonus

        for data in leaguesRewardsData:
            leagueID = data['league']
            awards = data['awards']
            badgeBonus = findAndPreformatBonus(awards, 'dossier')
            styleBonus = findAndPreformatBonus(awards, 'customizations')
            if leagueID and styleBonus and badgeBonus:
                isCurrent = self.__rankedController.getWebSeasonProvider(
                ).seasonInfo.league == leagueID
                styleCD = styleBonus.specialArgs[0]
                style = self.__itemsCache.items.getItemByCD(styleCD)
                _, _, styleID = parseIntCompactDescr(styleCD)
                self.__styleDescriptions[styleID] = backport.text(
                    R.strings.ranked_battles.rewardsView.tabs.leagues.
                    description.dyn('league%s' % leagueID)())
                badgeID = badgeBonus.specialArgs[0]
                result.append(
                    rewards_vos.getLeagueRewardVO(leagueID, styleBonus,
                                                  styleID, style.userName,
                                                  badgeID, isCurrent))
            _logger.error('Invalid awards or leagueID in quests')

        return result
Ejemplo n.º 3
0
    def __packAwards(self):
        result = []
        formatter = getRankedAwardsFormatter()
        for name, value in self._awards.iteritems():
            result.extend(
                formatter.getFormattedBonuses(getBonuses(
                    self._quest, name, value),
                                              size=AWARDS_SIZES.BIG))

        return result
Ejemplo n.º 4
0
 def _packBlocks(self, boxType, status, *args, **kwargs):
     items = super(RankedYearReward, self)._packBlocks()
     self.__points, _ = self.__rankedController.getYearAwardsPointsMap()[boxType]
     items.append(self.__packTitleBlock(boxType))
     items.append(self.__packPointsBlock())
     bonuses = self.__rankedController.getYearRewards(self.__points)
     listData = getRankedAwardsFormatter().getFormattedBonuses(bonuses, compareMethod=rankedYearAwardsSortFunction)
     if listData:
         items.append(self.__packAwardBlock(listData))
     expectedSeasons = self.__rankedController.getExpectedSeasons()
     items.append(self.__packDescriptionBlock(expectedSeasons))
     items.append(self.__packStatusBlock(status))
     return items
    def __getLeaguesData(self):
        leaguesRewardsData = self.__rankedController.getLeagueRewards(
            'customizations')
        result = []
        formatter = getRankedAwardsFormatter()
        for data in leaguesRewardsData:
            leagueID = data['league']
            styleBonus = first(formatter.getPreformattedBonuses(
                data['awards']))
            if leagueID and styleBonus:
                isCurrent = self.__rankedController.getWebSeasonProvider(
                ).seasonInfo.league == leagueID
                styleCD = styleBonus.specialArgs[0]
                self.__styleDescriptions[styleCD] = backport.text(
                    R.strings.ranked_battles.rewardsView.tabs.leagues.
                    description.dyn('league%s' % leagueID)())
                result.append(
                    rewards_vos.getLeagueRewardVO(leagueID, styleBonus,
                                                  isCurrent))

        return result
 def _packBlocks(self, boxType, status, *args, **kwargs):
     items = super(RankedYearReward, self)._packBlocks()
     self.__points, _ = self.__rankedController.getYearAwardsPointsMap(
     )[boxType]
     items.append(self.__packTitleBlock(boxType))
     items.append(self.__packPointsBlock())
     bonuses = self.__rankedController.getYearRewards(self.__points)
     listData = getRankedAwardsFormatter().getFormattedBonuses(
         bonuses,
         size=AWARDS_SIZES.BIG,
         compareMethod=rankedYearAwardsSortFunction)
     if listData:
         items.append(self.__packAwardBlock(listData))
     selectableDevice = findFirst(
         lambda b: b.getName() == SELECTABLE_BONUS_NAME, bonuses)
     if selectableDevice is not None:
         selectableRewardsLeft = int(
             first(selectableDevice.getTokens()).split(':')[-1])
         items.append(
             self.__packEquipmentChoiceBlock(selectableRewardsLeft))
     items.append(self.__packStatusBlock(status))
     return items
Ejemplo n.º 7
0
 def _packBlocks(self, boxType, status, *args, **kwargs):
     items = super(RankedYearReward, self)._packBlocks()
     self.__points, _ = self.__rankedController.getYearAwardsPointsMap(
     )[boxType]
     items.append(self.__packTitleBlock(boxType))
     items.append(self.__packPointsBlock())
     bonuses = self.__rankedController.getYearRewards(self.__points)
     listData = getRankedAwardsFormatter().getFormattedBonuses(
         bonuses,
         size=AWARDS_SIZES.BIG,
         compareMethod=rankedYearAwardsSortFunction)
     if listData:
         items.append(self.__packAwardBlock(listData))
     selectableDevice = findFirst(
         lambda b: YEAR_AWARD_SELECTABLE_OPT_DEVICE in getattr(
             b, 'getTokens', lambda: {})(), bonuses)
     if selectableDevice is not None:
         items.append(
             self.__packEquipmentChoiceBlock(
                 selectableDevice.getTokens()
                 [YEAR_AWARD_SELECTABLE_OPT_DEVICE].count))
     items.append(self.__packStatusBlock(status))
     return items
 def __init__(self):
     super(RankedBattlesRewardsRanksView, self).__init__()
     self.__selectedDivisionIdx = self.__rankedController.getCurrentDivision(
     ).getID()
     self.__bonusFormatter = getRankedAwardsFormatter()