specialities.py (1647B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\characterdata\specialities.py 2 from fsdBuiltData.common.base import BuiltDataLoader 3 try: 4 import characterSpecialitiesLoader 5 except ImportError: 6 characterSpecialitiesLoader = None 7 8 class CharacterSpecialitiesLoader(BuiltDataLoader): 9 __resBuiltFile__ = 'res:/staticData/characterSpecialities.fsdbinary' 10 __serverAutobuildBuiltFile__ = 'eve/autobuild/staticData/server/characterSpecialities.fsdbinary' 11 __loader__ = characterSpecialitiesLoader 12 13 14 def get_specialities(): 15 return CharacterSpecialitiesLoader.GetData() 16 17 18 def iter_specialities(): 19 for speciality_id, data in get_specialities().iteritems(): 20 yield (speciality_id, data) 21 22 23 def get_speciality_ids_by_career_id(career_id): 24 return [ speciality_id for speciality_id, speciality in iter_specialities() if speciality.careerID == career_id ] 25 26 27 def get_speciality(speciality_id, default = None): 28 return get_specialities().get(speciality_id, default) 29 30 31 def get_speciality_name(speciality_id, speciality = None, language_id = None): 32 if not speciality: 33 speciality = get_speciality(speciality_id) 34 return _get_message(getattr(speciality, 'nameID', None), language_id) 35 36 37 def get_speciality_description(speciality_id, speciality = None, language_id = None): 38 if not speciality: 39 speciality = get_speciality(speciality_id) 40 return _get_message(getattr(speciality, 'descriptionID', None), language_id) 41 42 43 def _get_message(message_id, language_id = None): 44 import localization 45 return localization.GetByMessageID(message_id, language_id=language_id)