def __updateUsersData(self, userDBIDs): diff = [] userGetter = storage_getter('users')().getUser colorGetter = g_settings.getColorScheme('rosters').getColors for userDBID in userDBIDs: data = findFirst(lambda d: d['creator'].get('dbID') == userDBID, self.collection) if data is not None: clubDBID = data['cfdUnitID'] try: index = self.mapping[clubDBID] item = self.collection[index] except (KeyError, IndexError): LOG_ERROR('Item not found', clubDBID) continue creator = userGetter(userDBID) creatorVO = makeUserVO(creator, colorGetter) creatorName = creator.getName() item.update({ 'creatorName': creatorName, 'rating': self.getGuiUserRating(userDBID) }) if creator.hasValidName(): item['creator'] = creatorVO diff.append(index) if len(diff): self.updateItems(diff) return
def __updateUsersData(self, userDBIDs): diff = [] userGetter = storage_getter('users')().getUser colorGetter = g_settings.getColorScheme('rosters').getColors for userDBID in userDBIDs: data = findFirst(lambda d: d['creator'].get('dbID') == userDBID, self.collection) if data is not None: clubDBID = data['cfdUnitID'] try: index = self.mapping[clubDBID] item = self.collection[index] except (KeyError, IndexError): LOG_ERROR('Item not found', clubDBID) continue creator = userGetter(userDBID) creatorVO = makeUserVO(creator, colorGetter) creatorName = creator.getName() item.update({'creatorName': creatorName, 'rating': self.getGuiUserRating(userDBID)}) if creator.hasValidName(): item['creator'] = creatorVO diff.append(index) if len(diff): self.updateItems(diff) return
def buildList(self, selectedID, result, syncUserInfo=True): self.clear() userGetter = storage_getter('users')().getUser colorGetter = g_settings.getColorScheme('rosters').getColors ratingFormatter = BigWorld.wg_getIntegralFormat self._selectedIdx = -1 self._lastResult = result data = [] for clubItem in result: cfdUnitID = clubItem.getID() creatorID = clubItem.getCreatorID() rating = self.getUserRating(creatorID) creator = self._UserEntityAdapter(creatorID, clubItem, userGetter(creatorID), self) creatorName = creator.getName() creatorVO = makeUserVO(creator, colorGetter) index = len(self.collection) if cfdUnitID == selectedID: self._selectedIdx = index self.mapping[cfdUnitID] = index data.append((rating, { 'cfdUnitID': cfdUnitID, 'unitMgrID': cfdUnitID, 'creator': creatorVO, 'creatorName': creatorName, 'rating': self.getGuiUserRating(creatorID), 'playersCount': clubItem.getMembersCount(), 'commandSize': clubItem.getCommandSize(), 'inBattle': False, 'isFreezed': False, 'isRestricted': False, 'description': html.escape(clubItem.getShortDescription()), 'peripheryID': -1, 'server': None, 'ladderIcon': getLadderChevron16x16(clubItem.getDivision()), 'isStatic': True })) self.collection.extend( map(lambda (r, c): c, sorted(data, reverse=True, key=operator.itemgetter(0)))) if syncUserInfo: self.syncUsersInfo() return self._selectedIdx
def buildList(self, selectedID, result, syncUserInfo=True): self.clear() userGetter = storage_getter("users")().getUser colorGetter = g_settings.getColorScheme("rosters").getColors ratingFormatter = BigWorld.wg_getIntegralFormat self._selectedIdx = -1 self._lastResult = result data = [] for clubItem in result: cfdUnitID = clubItem.getID() creatorID = clubItem.getCreatorID() rating = self.getUserRating(creatorID) creator = self._UserEntityAdapter(creatorID, clubItem, userGetter(creatorID), self) creatorName = creator.getName() creatorVO = makeUserVO(creator, colorGetter) index = len(self.collection) if cfdUnitID == selectedID: self._selectedIdx = index self.mapping[cfdUnitID] = index data.append( ( rating, { "cfdUnitID": cfdUnitID, "unitMgrID": cfdUnitID, "creator": creatorVO, "creatorName": creatorName, "rating": self.getGuiUserRating(creatorID), "playersCount": clubItem.getMembersCount(), "commandSize": clubItem.getCommandSize(), "inBattle": False, "isFreezed": False, "isRestricted": False, "description": html.escape(clubItem.getShortDescription()), "peripheryID": -1, "server": None, "ladderIcon": getLadderChevron16x16(clubItem.getDivision()), "isStatic": True, }, ) ) self.collection.extend(map(lambda (r, c): c, sorted(data, reverse=True, key=operator.itemgetter(0)))) if syncUserInfo: self.syncUsersInfo() return self._selectedIdx
def buildList(self, selectedID, result, syncUserInfo = True): self.clear() userGetter = storage_getter('users')().getUser colorGetter = g_settings.getColorScheme('rosters').getColors ratingFormatter = BigWorld.wg_getIntegralFormat self._selectedIdx = -1 self._lastResult = result data = [] for clubItem in result: cfdUnitID = clubItem.getID() creatorID = clubItem.getCreatorID() creator = userGetter(creatorID) rating = self.getUserRating(creatorID) if creator is None: creator = self._UserEntityAdapter(creatorID, self) creatorName = creator.getName() creatorVO = makeUserVO(creator, colorGetter) index = len(self.collection) if cfdUnitID == selectedID: self._selectedIdx = index self.mapping[cfdUnitID] = index data.append((rating, {'cfdUnitID': cfdUnitID, 'unitMgrID': cfdUnitID, 'creator': creatorVO, 'creatorName': creatorName, 'rating': ratingFormatter(rating), 'playersCount': clubItem.getMembersCount(), 'commandSize': clubItem.getCommandSize(), 'inBattle': False, 'isFreezed': False, 'isRestricted': False, 'description': html.escape(clubItem.getShortDescription()), 'peripheryID': -1, 'server': None, 'ladderIcon': getLadderChevron16x16(clubItem.getDivision()), 'isStatic': True})) self.collection.extend(map(lambda (r, c): c, sorted(data, reverse=True, key=operator.itemgetter(0)))) if syncUserInfo: self.syncUsersInfo() return self._selectedIdx