podGuideUtil.py (1855B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\podGuide\podGuideUtil.py 2 from collections import OrderedDict, defaultdict 3 import fsd.schemas.binaryLoader as fsdBinaryLoader 4 5 def GetTerms(): 6 groupDict = defaultdict(set) 7 fsdData = GetFSDInfoForTerms() 8 for eachTermID, eachTerm in fsdData.iteritems(): 9 groupDict[eachTerm.groupID].add(eachTerm) 10 11 return groupDict 12 13 14 def GetTermByID(termID): 15 allTerms = GetFSDInfoForTerms() 16 return allTerms.Get(termID) 17 18 19 def GetTermShortText(termID): 20 term = GetTermByID(termID) 21 return term.shortTextID 22 23 24 def GetFSDInfoForTerms(): 25 data = fsdBinaryLoader.LoadFSDDataForCFG('res:/staticdata/podGuide.static') 26 return data 27 28 29 def GetFSDInfoForGroups(): 30 data = fsdBinaryLoader.LoadFSDDataForCFG('res:/staticdata/podGuideGroups.static') 31 return data 32 33 34 def GetGroupNames(groupKey): 35 groupsInfo = GetFSDInfoForGroups() 36 groupNameID = groupsInfo.Get(groupKey).groupName 37 return groupNameID 38 39 40 def GetCategories(): 41 groupsByCategory = defaultdict(set) 42 allGroupsInfo = GetFSDInfoForGroups() 43 for groupID, groupInfo in allGroupsInfo.iteritems(): 44 if groupInfo.groupType == 'group': 45 groupsByCategory[groupInfo.belongsToGroup].add(groupInfo) 46 47 categoryInfo = defaultdict(dict) 48 for groupID, groupInfo in allGroupsInfo.iteritems(): 49 if groupInfo.groupType == 'category': 50 categoryInfo[groupID]['categoryInfo'] = groupInfo 51 categoryInfo[groupID]['subgroups'] = groupsByCategory.get(groupID, []) 52 53 return categoryInfo 54 55 56 def OpenPodGuide(termID = None): 57 from eve.client.script.ui.podGuide.podGuideUI import PodGuideWindow 58 wnd = PodGuideWindow.GetIfOpen() 59 if wnd: 60 wnd.LoadPanelByID(termID=termID) 61 else: 62 PodGuideWindow.Open(termID=termID)