def setOpener(self, view): self.__opener = view eventData = self.__opener.eventData leaderboards = eventData.getLeaderboards() leaderboardID = leaderboards[0][0] if eventData.getType() == EVENT_TYPE.VEHICLE: currentVehicleCD = g_currentVehicle.item.intCD if g_currentVehicle.item else None _leaderboardID = eventData.getLeaderboardID(currentVehicleCD) if _leaderboardID is not None: leaderboardID = _leaderboardID elif leaderboards: vehicleIds = [veh for _, veh in leaderboards] allVehicles = self.itemsCache.items.getVehicles( REQ_CRITERIA.IN_CD_LIST(vehicleIds)) fields = (('level', False), ('nations', True), ('type', True)) sortedVehicles = sortByFields(fields, allVehicles.itervalues(), vehicleValueGetter) leaderboardID = eventData.getLeaderboardID( sortedVehicles[0].intCD) else: header = { 'filters': makeFiltersVO(eventData.getType(), leaderboards, leaderboardID, category='awards') } self.as_setHeaderS(header) self._setData(leaderboardID) return
def _request(self, isReset=False, sort=tuple()): self.__sentRequestCount += 1 self._offset = max(self._offset, 0) offset = 0 count = self._offset + self._count if not self.__lastStatus or not self.__allInvitesCached: if len(sort): yield self.__requestInvites(0, PERSONAL_INVITES_COUNT_THRESHOLD, isReset) self.__allInvitesCached = self.__lastStatus else: yield self.__requestInvites(offset, count, isReset) self.__lastResult = [] if self.__lastStatus: if sort is not None and sort != self.__lastSort: self.__invitesCache = sortByFields(sort, self.__invitesCache, valueGetter=getattr) self.__lastSort = sort self.__rebuildMapping() self.__lastResult = self.__getSlice(offset, count) self.__sentRequestCount -= 1 self.onListUpdated(self._selectedID, True, True, (self.__lastStatus, self.__lastResult)) return
def pySortOn(self, fields, order): super(_ClanProfileProvinceDataProvider, self).pySortOn(fields, order) if self.__dataList: self.__dataList = sortByFields(self._sort, self.__dataList, valueGetter=self.__sortingMethod) self.buildList(self.__dataList) self.refresh()
def pySortOn(self, fields, order): super(_ClanMembersDataProvider, self).pySortOn(fields, order) if self.__accountsList: self.__accountsList = sortByFields( self._sort, self.__accountsList, valueGetter=self.__sortingMethod) self.buildList(self.__accountsList) self.refresh()
def _request(self, isReset = False, sort = tuple()): self.__sentRequestCount += 1 self._offset = max(self._offset, 0) offset = 0 count = self._offset + self._count if not self.__lastStatus or not self.__allInvitesCached: if len(sort): yield self.__requestInvites(0, PERSONAL_INVITES_COUNT_THRESHOLD, isReset) self.__allInvitesCached = self.__lastStatus else: yield self.__requestInvites(offset, count, isReset) self.__lastResult = [] if self.__lastStatus: if sort is not None and sort != self.__lastSort: self.__invitesCache = sortByFields(sort, self.__invitesCache, valueGetter=getattr) self.__lastSort = sort self.__rebuildMapping() self.__lastResult = self.__getSlice(offset, count) self.__sentRequestCount -= 1 self.onListUpdated(self._selectedID, True, True, (self.__lastStatus, self.__lastResult)) return
def pySortOn(self, fields, order): super(VehiclesDataProvider, self).pySortOn(fields, order) if self.__list: self.__list = sortByFields(self._sort, self.__list, self.__sortingMethod) self.buildList(self.__list)
def sortedCollection(self): return sortByFields(self._sort, self.__list, self.__sortingMethod)
def pySortOn(self, fields, order): super(_ClanMembersDataProvider, self).pySortOn(fields, order) if self.__accountsList: self.__accountsList = sortByFields(self._sort, self.__accountsList, valueGetter=self.__sortingMethod) self.buildList(self.__accountsList) self.refresh()
def sortedCollection(self): return map(self.addBrackets, sortByFields(self._sort, map(self.deleteBrackets, self.collection)))
def sortedCollection(self): return sortByFields(self._sort, self.collection)
def __sort(self): self.__list = sortByFields(self._sort, self.__list, vehicleValueGetter)