コード例 #1
0
def getRankedMainSeasonOnHeader(season, itemID):
    title = backport.text(R.strings.ranked_battles.rankedBattle.title())
    leftSideText = ''
    rightSideText = ''
    tooltip = TOOLTIPS_CONSTANTS.RANKED_CALENDAR_DAY_INFO
    if itemID in _EMPTY_WEB_PAGES:
        title = ''
        tooltip = ''
    elif itemID == RANKEDBATTLES_CONSTS.RANKED_BATTLES_INFO_ID:
        leftSideText = backport.text(
            R.strings.ranked_battles.rankedBattleMainView.infoPage.header())
        tooltip = ''
    elif season is not None:
        startDate = season.getStartDate()
        endDate = season.getEndDate()
        timeDelta = time_utils.getTimeDeltaFromNowInLocal(
            time_utils.makeLocalServerTime(endDate))
        if timeDelta > time_utils.ONE_WEEK:
            leftSideText = backport.text(
                R.strings.ranked_battles.rankedBattleMainView.date.period(),
                start=backport.getLongDateFormat(startDate),
                finish=backport.getLongDateFormat(endDate))
        else:
            leftSideText = backport.getTillTimeStringByRClass(
                timeDelta, R.strings.ranked_battles.rankedBattleMainView.date)
        rightSideText = backport.text(
            R.strings.ranked_battles.rankedBattleMainView.season(),
            season=season.getUserName())
    return {
        'title': title,
        'leftSideText': leftSideText,
        'rightSideText': rightSideText,
        'tooltip': tooltip
    }
コード例 #2
0
def getProfileCommonInfo(userName, dossier):
    lastBattleTimeUserString = None
    if dossier['total']['lastBattleTime']:
        lbt = dossier['total']['lastBattleTime']
        lastBattleTimeUserString = '%s %s' % (backport.getLongDateFormat(lbt), backport.getShortTimeFormat(lbt))
    return {'name': userName,
     'registrationDate': '%s' % backport.getLongDateFormat(dossier['total']['creationTime']),
     'lastBattleDate': lastBattleTimeUserString}
コード例 #3
0
def getRankedMainSeasonOffHeader(prevSeason, nextSeason, isYearGap, itemID):
    title = backport.text(R.strings.ranked_battles.rankedBattle.title())
    leftSideText = ''
    rightSideText = ''
    if itemID == RANKEDBATTLES_CONSTS.RANKED_BATTLES_RANKS_ID and isYearGap:
        rightSideText = backport.text(
            R.strings.ranked_battles.rankedBattleMainView.yearGap.header())
    elif itemID in _EMPTY_WEB_PAGES:
        title = ''
    elif itemID == RANKEDBATTLES_CONSTS.RANKED_BATTLES_INFO_ID:
        rightSideText = backport.text(
            R.strings.ranked_battles.rankedBattleMainView.infoPage.header())
    else:
        rightSideText = backport.text(
            R.strings.ranked_battles.rankedBattleMainView.seasonCompleteSingle(
            ),
            season=prevSeason.getUserName())
        if nextSeason is not None:
            rightSideText = backport.text(
                R.strings.ranked_battles.rankedBattleMainView.seasonComplete(),
                season=prevSeason.getUserName())
            leftSideText = backport.text(
                R.strings.ranked_battles.rankedBattleMainView.seasonGap(),
                newSeason=nextSeason.getUserName(),
                date=backport.getLongDateFormat(nextSeason.getStartDate()))
    return {
        'title': title,
        'leftSideText': leftSideText,
        'rightSideText': rightSideText,
        'tooltip': ''
    }
コード例 #4
0
def formatUpdateTime(recalculationTS):
    statusDay = event_boards_timer.getUpdateStatus_ts(recalculationTS)
    statusTime = backport.getShortTimeFormat(recalculationTS)
    day = _ms(EVENT_BOARDS.time_day(statusDay)
              ) if statusDay else backport.getLongDateFormat(recalculationTS)
    status = _ms(EVENT_BOARDS.SUMMARY_STATUS, day=day, time=statusTime)
    return status
コード例 #5
0
 def __updateHeader(self):
     event = self.__eventData
     name = event.getName()
     eType = event.getType()
     leaderboard = self.__leaderboard
     leaderboardValue = event.getLeaderboard(self.__leaderboardID)
     if event.isFinished():
         date = backport.getLongDateFormat(event.getEndDateTs())
         status = text_styles.main(
             _ms(EVENT_BOARDS.TIME_EVENTFINISHED, date=date))
         statusTooltip = None
     elif leaderboard:
         recalculationTS = leaderboard.getLastLeaderboardRecalculationTS()
         recalculationInterval = leaderboard.getRecalculationInterval()
         interval = int(recalculationInterval / ONE_MINUTE)
         status = text_styles.main(formatUpdateTime(recalculationTS))
         statusTooltip = _ms(TOOLTIPS.SUMMARY_STATUS_TOOLTIP,
                             interval=interval)
     else:
         status = None
         statusTooltip = None
     self.as_setHeaderDataS(
         makeTableViewHeaderVO(eType, leaderboardValue, name, status,
                               statusTooltip))
     return
コード例 #6
0
 def _requestClanInfo(self):
     isShowClanProfileBtnVisible = False
     if self.lobbyContext.getServerSettings().clanProfile.isEnabled():
         isShowClanProfileBtnVisible = True
     clanDBID, clanInfo = self.itemsCache.items.getClanInfo(self._userID)
     if clanInfo is not None:
         clanInfo = ClanInfo(*clanInfo)
         clanData = {
             'id':
             clanDBID,
             'header':
             clanInfo.getClanName(),
             'topLabel':
             _ms(PROFILE.PROFILE_SUMMARY_CLAN_POST),
             'topValue':
             text_styles.main(getClanRoleString(
                 clanInfo.getMembersFlags())),
             'bottomLabel':
             _ms(PROFILE.PROFILE_SUMMARY_CLAN_JOINDATE),
             'bottomValue':
             text_styles.main(
                 backport.getLongDateFormat(clanInfo.getJoiningTime()))
         }
         btnParams = self._getClanBtnParams(isShowClanProfileBtnVisible)
         clanData.update(btnParams)
         self.as_setClanDataS(clanData)
         self.requestClanEmblem32x32(clanDBID)
     return
コード例 #7
0
def getDueDateOrTimeStr(finishTime, localization=''):
    if not finishTime or time_utils.isPast(finishTime):
        return ''
    if time_utils.isToday(finishTime):
        strTime = backport.getShortTimeFormat(finishTime)
    else:
        strTime = backport.getLongDateFormat(finishTime)
    return ' '.join([localization, strTime]) if localization else strTime
コード例 #8
0
 def _getActiveDateTimeString(self):
     name = self.discount.getParamName()
     if name == 'set_MarathonAnnounce':
         timeStr = backport.getLongDateFormat(self.getFinishTime())
         if timeStr is not None and self._marathonEvent:
             return text_styles.main(i18n.makeString(self._marathonEvent.data.quests.announceTime, startTime=timeStr))
     elif name == 'set_MarathonInProgress':
         return super(MarathonEventActionInfo, self)._getActiveDateTimeString()
     return ''
コード例 #9
0
 def __init__(self, name, block, dossier, value=None):
     super(LoyalServiceAchievement, self).__init__(name, block, dossier,
                                                   value)
     if dossier is not None:
         self.__registrationDate = backport.getLongDateFormat(
             dossier.getDossierDescr()['total']['creationTime'])
     else:
         self.__registrationDate = None
     return
コード例 #10
0
 def getMessage(self):
     if self._endTime:
         banEndTime = backport.getLongDateFormat(
             self._endTime) + ' ' + backport.getShortTimeFormat(
                 self._endTime)
         msg = i18n.makeString('#chat:errors/chatbanned',
                               banEndTime=banEndTime,
                               banReason=self._reason)
     else:
         msg = i18n.makeString('#chat:errors/chatbannedpermanent',
                               banReason=self._reason)
     return msg
コード例 #11
0
def onShopResync():
    yield ServicesLocator.itemsCache.update(CACHE_SYNC_REASON.SHOP_RESYNC)
    if not ServicesLocator.itemsCache.isSynced():
        Waiting.hide('sinhronize')
        return
    yield ServicesLocator.eventsCache.update()
    Waiting.hide('sinhronize')
    now = time_utils.getCurrentTimestamp()
    SystemMessages.pushI18nMessage(SYSTEM_MESSAGES.SHOP_RESYNC,
                                   date=backport.getLongDateFormat(now),
                                   time=backport.getShortTimeFormat(now),
                                   type=SystemMessages.SM_TYPE.Information)
コード例 #12
0
 def getMessage(self):
     formatArgs = {'reason': '', 'expiryTime': ''}
     if self.reason:
         formatArgs['reason'] = i18n.makeString(
             DIALOGS.DISCONNECTED_REASON, i18n.makeString(self.reason))
     if self.expiryTime:
         expiryTime = time_utils.makeLocalServerTime(int(self.expiryTime))
         formatArgs['expiryTime'] = '%s %s' % (backport.getLongDateFormat(
             expiryTime), backport.getLongTimeFormat(expiryTime))
     key = DIALOGS.DISCONNECTED_MESSAGEKICK
     if self.isBan:
         key = DIALOGS.DISCONNECTED_MESSAGEBANPERIOD if self.expiryTime else DIALOGS.DISCONNECTED_MESSAGEBAN
     return i18n.makeString(key, **formatArgs)
コード例 #13
0
 def getMessage(self):
     formatArgs = {'reason': '',
      'expiryTime': ''}
     if self.reason:
         formatArgs['reason'] = i18n.makeString(DIALOGS.DISCONNECTED_REASON, i18n.makeString(self.reason))
     if self.expiryTime:
         expiryTime = time_utils.makeLocalServerTime(int(self.expiryTime))
         formatArgs['expiryTime'] = '%s %s' % (backport.getLongDateFormat(expiryTime), backport.getLongTimeFormat(expiryTime))
     key = DIALOGS.DISCONNECTED_MESSAGEKICK
     if self.kickReasonType in ACCOUNT_KICK_REASONS.BAN_RANGE:
         if IS_CHINA and self.kickReasonType == ACCOUNT_KICK_REASONS.CURFEW_BAN:
             return i18n.makeString(self.reason)
         key = DIALOGS.DISCONNECTED_MESSAGEBANPERIOD if self.expiryTime else DIALOGS.DISCONNECTED_MESSAGEBAN
     return i18n.makeString(key, **formatArgs)
コード例 #14
0
 def create(cls, chatAction):
     banInfo = chatAction['data']
     banEndTime = makeLocalServerTime(banInfo.get('banEndTime', None))
     if banEndTime is None:
         if banEndTime in banInfo:
             del banInfo['banEndTime']
         bannedMessage = i18n.makeString('#chat:errors/bannedpermanent',
                                         **banInfo)
     else:
         banInfo['banEndTime'] = backport.getLongDateFormat(
             banEndTime) + ' ' + backport.getShortTimeFormat(banEndTime)
         bannedMessage = i18n.makeString('#chat:errors/banned', **banInfo)
     return MemberBannedError(cls._makeTitle('memberBanned'),
                              bannedMessage,
                              isModal=True)
コード例 #15
0
    def __prepareAccountResult(self, accountDBID, dossier):
        if dossier is None:
            return {}

        res = self.__prepareCommonResult(accountDBID, dossier)

        stats = self.__getStatsBlock(dossier)
        glob = dossier.getGlobalStats()

        lbt = glob.getLastBattleTime()
        res.update({
            'maxXPVehCD': stats.getMaxXpVehicle(),
            'maxFragsVehCD': stats.getMaxFragsVehicle(),
            'maxDamageVehCD': stats.getMaxDamageVehicle(),

            'creationTime': glob.getCreationTime(),
            'lastBattleTime': lbt,
            'lastBattleTimeStr': makeString(MENU.PROFILE_HEADER_LASTBATTLEDATETITLE) + ' ' +
                                 ('%s %s' % (backport.getLongDateFormat(lbt), backport.getShortTimeFormat(lbt))),
            'vehicles': {}})

        vehicles = stats.getVehicles()
        for (vehCD, vdata) in vehicles.iteritems():
            res['vehicles'][str(vehCD)] = {
                'battles': vdata.battlesCount,
                'wins': vdata.wins,
                'mastery': stats.getMarkOfMasteryForVehicle(vehCD),
                'xp': vdata.xp}

        # add tanks with 0 battles
        vehicles = self.itemsCache.items.getVehicles(REQ_CRITERIA.INVENTORY)
        for (vehCD, vdata) in vehicles.iteritems():
            if str(vehCD) not in res['vehicles']:
                res['vehicles'][str(vehCD)] = {
                    'battles': 0,
                    'wins': 0,
                    'mastery': 0,
                    'xp': 0}

        return res
コード例 #16
0
    def getTimerInfo(self):

        def formatToEnd(iconPath, text, dateType, isEndSoon):
            iconPath = icons.makeImageTag(iconPath)
            timeData = event.getFormattedRemainingTime(dateType)
            text = _ms(text, time=formatTimeToEnd(timeData[0], timeData[1]))
            if isEndSoon:
                formatedText = timeEndStyle(text)
            else:
                formatedText = text_styles.vehicleStatusInfoText(text)
            return '{} {}'.format(iconPath, formatedText)

        event = self._event
        sday, smonth, _ = event_boards_timer.getDayMonthYear(event.getStartDate())
        eday, emonth, _ = event_boards_timer.getDayMonthYear(event.getEndDate())
        finished = event.isFinished()
        if not finished:
            icon = icons.makeImageTag(RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_DATE_ICON)
            timePeriod = '{} {} {} - {} {} {}'.format(str(sday), _ms(MENU.datetime_months(str(smonth))), event_boards_timer.getShortTimeString(event.getStartDate()), str(eday), _ms(MENU.datetime_months(str(emonth))), event_boards_timer.getShortTimeString(event.getEndDate()))
            result = '{} {}    '.format(icon, text_styles.vehicleStatusInfoText(timePeriod))
            startSoon = event.isStartSoon()
            if startSoon:
                result += formatToEnd(RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_TIME_ICON, EVENT_BOARDS.TIME_TIMETO_START, EVENT_DATE_TYPE.START, startSoon)
            elif not self._joined and not event.isRegistrationFinished():
                finishSoon = event.isRegistrationFinishSoon()
                if finishSoon:
                    result += formatToEnd(RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_TIME_ICON, EVENT_BOARDS.TIME_TIMETO_ENDREGISTRATION, EVENT_DATE_TYPE.PARTICIPANTS_FREEZE, finishSoon)
                else:
                    result += formatToEnd(RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_ICON_FLAG, EVENT_BOARDS.TIME_TIMETO_ENDREGISTRATION, EVENT_DATE_TYPE.PARTICIPANTS_FREEZE, finishSoon)
            else:
                endSoon = event.isEndSoon()
                if endSoon:
                    result += formatToEnd(RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_TIME_ICON, EVENT_BOARDS.TIME_TIMETO_END, EVENT_DATE_TYPE.END, endSoon)
                else:
                    result += formatToEnd(RES_ICONS.MAPS_ICONS_EVENTBOARDS_FLAGICONS_ICON_FLAG, EVENT_BOARDS.TIME_TIMETO_END, EVENT_DATE_TYPE.END, endSoon)
        else:
            date = backport.getLongDateFormat(event.getEndDateTs())
            result = text_styles.main(_ms(EVENT_BOARDS.TIME_EVENTFINISHED, date=date))
        return {'timer': result}
コード例 #17
0
 def getExpiryDate(self):
     return backport.getLongDateFormat(
         self.expiryTime) if self.expiryTime is not None else ''
コード例 #18
0
    def _populate(self):
        super(MissionsTokenPopover, self)._populate()
        mainQuest = self.eventsCache.getQuests()[self._questId]
        children = mainQuest.getChildren()[self._tokenId]

        def filterfunc(quest):
            return quest.getGroupID() == mainQuest.getGroupID(
            ) and quest.getID() in children

        quests = self.eventsCache.getQuests(filterfunc)
        for token in mainQuest.accountReqs.getTokens():
            if token.getID() == self._tokenId:
                self._token = token
                break

        result = []
        for quest in sorted(quests.values(),
                            key=missionsSortFunc,
                            reverse=True):
            header = text_styles.main(quest.getUserName())
            if quest.isCompleted():
                icon = RES_ICONS.MAPS_ICONS_LIBRARY_FORTIFICATION_CHECKMARK
                descr = text_styles.bonusAppliedText(
                    QUESTS.MISSIONS_TOKENPOPOVER_QUEST_DESCR_READY)
            elif not quest.isAvailable()[0]:
                icon = RES_ICONS.MAPS_ICONS_LIBRARY_CYBERSPORT_NOTAVAILABLEICON
                descr = text_styles.error(
                    QUESTS.MISSIONS_TOKENPOPOVER_QUEST_DESCR_NOTAVAILABLE)
            else:
                icon = ''
                descr = text_styles.standard(
                    ms(QUESTS.MISSIONS_TOKENPOPOVER_QUEST_DESCR_DATE,
                       date=backport.getLongDateFormat(quest.getFinishTime())))
            tooltip = makeTooltip(
                ms(TOOLTIPS.MISSIONS_TOKENPOPOVER_QUEST_HEADER,
                   name=quest.getUserName()),
                ms(TOOLTIPS.MISSIONS_TOKENPOPOVER_QUEST_BODY))
            result.append({
                'headerText': header,
                'descrText': descr,
                'imgSrc': icon,
                'questId': quest.getID(),
                'tooltip': tooltip
            })

        self.as_setListDataProviderS(result)
        buyBtnVisible = self._token.isOnSale() or mainQuest.isTokensOnSale()
        if buyBtnVisible:
            descrText = ms(QUESTS.MISSIONS_TOKENPOPOVER_DESCR_SHOP,
                           name=text_styles.neutral(
                               ms(self._token.getUserName())))
        else:
            descrText = ms(QUESTS.MISSIONS_TOKENPOPOVER_DESCR,
                           name=text_styles.neutral(
                               ms(self._token.getUserName())))
        if not GUI_SETTINGS.tokenShopURL:
            buyBtnVisible = False
        self.as_setStaticDataS({
            'headerText':
            text_styles.highTitle(
                ms(QUESTS.MISSIONS_TOKENPOPOVER_HEADER,
                   name=ms(self._token.getUserName()))),
            'descrText':
            text_styles.main(descrText),
            'imageSrc':
            self._token.getImage(TOKEN_SIZES.MEDIUM),
            'buyBtnLabel':
            QUESTS.MISSIONS_TOKENPOPOVER_BUYBTN_LABEL,
            'buyBtnVisible':
            buyBtnVisible
        })
コード例 #19
0
def getSeniorityAwardsAutoOpenDate(lobbyContext=None):
    config = lobbyContext.getServerSettings().getSeniorityAwardsConfig()
    autoOpenTime = config.autoOpenTimestamp()
    autoOpenLocalTime = time_utils.makeLocalServerTime(autoOpenTime)
    return backport.getLongDateFormat(autoOpenLocalTime)
コード例 #20
0
 def _getDescrBlock(self):
     minStartTime = min([ q.getStartTime() for q in self._suitableEvents ])
     maxFinishTime = max([ q.getFinishTime() for q in self._suitableEvents ])
     return {'period': text_styles.middleTitle(_ms(QUESTS.MISSIONS_TAB_MARATHONS_HEADER_PERIOD, startDate=backport.getLongDateFormat(minStartTime), endDate=backport.getLongDateFormat(maxFinishTime))),
      'isMultiline': True,
      'hasCalendarIcon': True}
コード例 #21
0
 def _getValue(self, value):
     return backport.getLongDateFormat(self._getLocalTime(value))
コード例 #22
0
 def _getDateTimeString(cls, timeValue):
     return '{0:>s} {1:>s}'.format(backport.getLongDateFormat(timeValue),
                                   backport.getShortTimeFormat(timeValue))
コード例 #23
0
 def _formatFinishTime(self):
     return '' if self._marathonEvent is None else ' '.join((text_styles.main(i18n.makeString(self._marathonEvent.data.quests.timeFinish)), backport.getLongDateFormat(self.getFinishTime())))
コード例 #24
0
def getPrebattleStartTimeString(startTime):
    startTimeString = backport.getLongTimeFormat(startTime)
    if startTime - time.time() > 86400:
        startTimeString = '{0:>s} {1:>s}'.format(
            backport.getLongDateFormat(startTime), startTimeString)
    return startTimeString