loader.py (2107B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dynamicitemattributes\loader.py 2 import dynamicItemAttributesLoader 3 from fsdBuiltData.common.base import BuiltDataLoader 4 import evetypes 5 6 class DynamicItemAttributes(BuiltDataLoader): 7 __resBuiltFile__ = 'res:/staticdata/dynamicItemAttributes.fsdbinary' 8 __clientAutobuildBuiltFile__ = 'eve/autobuild/staticdata/client/dynamicItemAttributes.fsdbinary' 9 __serverAutobuildBuiltFile__ = 'eve/autobuild/staticdata/server/dynamicItemAttributes.fsdbinary' 10 __loader__ = dynamicItemAttributesLoader 11 12 13 def GetData(): 14 return DynamicItemAttributes.GetData() 15 16 17 def IsMutator(typeID): 18 return typeID in GetData() 19 20 21 def GetMutator(mutatorID): 22 return GetData()[mutatorID] 23 24 25 def GetApplicableTypes(mutatorID): 26 mutator = GetMutator(mutatorID) 27 applicableTypes = [] 28 for mapping in mutator.inputOutputMapping: 29 publishedTypes = filter(evetypes.IsPublished, mapping.applicableTypes) 30 applicableTypes.extend(publishedTypes) 31 32 return applicableTypes 33 34 35 def GetMutatorAttributes(mutatorID): 36 mutator = GetMutator(mutatorID) 37 return mutator.attributeIDs 38 39 40 def GetResultType(mutatorID, sourceTypeID): 41 mutator = GetMutator(mutatorID) 42 for mapping in mutator.inputOutputMapping: 43 for applicableType in mapping.applicableTypes: 44 if sourceTypeID == applicableType: 45 return mapping.resultingType 46 47 raise ValueError('Source typeID {} is not applicable'.format(sourceTypeID)) 48 49 50 def GetResultTypes(mutatorID): 51 mutator = GetMutator(mutatorID) 52 return [ m.resultingType for m in mutator.inputOutputMapping ] 53 54 55 def GetAllMutatorTypes(): 56 return GetData().keys() 57 58 59 def GetMutatorTypesByResultTypes(resultTypes): 60 if not hasattr(resultTypes, '__iter__'): 61 resultTypes = [resultTypes] 62 mutatorTypeIDs = [] 63 for mutatorID, mutator in GetData().iteritems(): 64 for mapping in mutator.inputOutputMapping: 65 if mapping.resultingType in resultTypes: 66 mutatorTypeIDs.append(mutatorID) 67 68 return mutatorTypeIDs