def CreateUpgradeCache(self): upgradeGroups = {} sovSvc = sm.GetService('sov') itemData = sovSvc.GetInfrastructureHubItemData(self.hubID) self.billingCost = self.GetBillingCost(itemData) potentialGroupIDs = evetypes.GetGroupIDsByCategory( categoryInfrastructureUpgrade) groupIDsToAdd = set() for groupID in potentialGroupIDs: if evetypes.IsGroupPublishedByGroup(groupID): groupIDsToAdd.add(groupID) for eachGroupID in groupIDsToAdd: groupName = evetypes.GetGroupNameByGroup(eachGroupID) potentialTypeIDs = evetypes.GetTypeIDsByGroup(eachGroupID) typesForGroup = [] for eachTypeID in potentialTypeIDs: if evetypes.IsPublished(eachTypeID): typeInfo = self.GetTypeInfo(eachTypeID, itemData, sovSvc) typesForGroup.append(typeInfo) upgradeGroups[eachGroupID] = util.KeyVal(groupID=eachGroupID, groupName=groupName, types=typesForGroup) self.upgradeGroups = upgradeGroups.values() self.upgradeGroups.sort(key=lambda g: g.groupName) for groupInfo in self.upgradeGroups: groupInfo.types.sort(key=lambda t: t.typeName)
def DroneMenu(): m = [] for groupID in chargesByChargeGroup: if evetypes.GetCategoryIDByGroup( groupID) == const.categoryDrone: m.append((self.FormattedName( evetypes.GetGroupNameByGroup(groupID), evetypes.IsGroupPublishedByGroup(groupID)), ('isDynamic', DroneSubMenu, (groupID, )))) m.sort() return m
def _InitShipTypeIDDict(self): self.shipTypeIDsByFactionIDAndGroupID = defaultdict(list) for groupID in evetypes.GetGroupIDsByCategory(const.categoryShip): if not evetypes.IsGroupPublishedByGroup(groupID): continue for typeID in evetypes.GetTypeIDsByGroup(groupID): try: key = (evetypes.GetFactionID(typeID), evetypes.GetIsisGroupID(typeID)) self.shipTypeIDsByFactionIDAndGroupID[key].append(typeID) except (KeyError, AttributeError): pass
def PopulateGroupCombo(self, isSel = False): categoryID = self.sr.fltCategories.GetValue() groups = [(localization.GetByLabel('UI/Common/All'), None)] if categoryID: if evetypes.CategoryExists(categoryID): for groupID in evetypes.GetGroupIDsByCategory(categoryID): if evetypes.IsGroupPublishedByGroup(groupID): groups.append((evetypes.GetGroupNameByGroup(groupID), groupID)) sel = None if isSel: sel = settings.user.ui.Get('contracts_filter_groups', None) self.sr.fltGroups.LoadOptions(groups, sel)
def GetGroupValueOptions(self): categoryID = self.categoryCombo.GetValue() options = [] for groupID in evetypes.IterateGroups(): if evetypes.IsGroupPublishedByGroup( groupID) and evetypes.GetCategoryIDByGroup( groupID) == categoryID: options.append( (evetypes.GetGroupNameByGroup(groupID), groupID)) options.sort(key=lambda x: x[0]) options.insert(0, (localization.GetByLabel('UI/Common/All'), 0)) return options
def DoCategoryChange(self, combo, text, value): self.config['categoryID'] = value if value == 'random': self.grps = [self.RANDOM_COMBO] else: self.grps = [ ('%s [%s]' % (evetypes.GetGroupNameByGroup(groupID), self.PUBLISHED_LIST[evetypes.IsGroupPublishedByGroup(groupID)]), groupID) for groupID in evetypes.IterateGroups() if evetypes.GetCategoryIDByGroup(groupID) == value ] self.grps.sort() self.grps.insert(0, self.RANDOM_COMBO) self.groups.SetValue('random') self.groups.entries = self.grps