const.py (7959B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\careergoals\client\const.py 2 import characterdata.careerpathconst as cpConst 3 from careergoals.client.errors import RewardTypeNotFound 4 from itertoolsext.Enum import Enum 5 from collections import OrderedDict 6 from eveProto.generated.eve_public.career.career_pb2 import Path as CareerPath 7 from eveProto.generated.eve_public.career.goal_pb2 import RewardLabel as RewardLabelProto 8 9 @Enum 10 11 class RewardType(object): 12 TYPE_ID = 'TYPE_ID' 13 ISK = 'ISK' 14 SP = 'SP' 15 16 @classmethod 17 def from_proto(cls, payload): 18 if payload.HasField('item'): 19 return RewardType.TYPE_ID 20 if payload.HasField('isk'): 21 return RewardType.ISK 22 if payload.HasField('skill_points'): 23 return RewardType.SP 24 raise RewardTypeNotFound 25 26 27 @Enum 28 29 class RewardLabel(object): 30 ALPHA = 'alpha' 31 OMEGA = 'omega' 32 UNSPECIFIED = 'unspecified' 33 _PROTO_TO_REWARD_LABEL = {RewardLabelProto.REWARD_LABEL_UNSPECIFIED: UNSPECIFIED, 34 RewardLabelProto.REWARD_LABEL_ALPHA: ALPHA, 35 RewardLabelProto.REWARD_LABEL_OMEGA: OMEGA} 36 _REWARD_LABEL_TO_PROTO = {v:k for k, v in _PROTO_TO_REWARD_LABEL.iteritems()} 37 38 @classmethod 39 def from_proto(cls, proto_field): 40 return cls._PROTO_TO_REWARD_LABEL.get(proto_field, RewardLabel.UNSPECIFIED) 41 42 @classmethod 43 def to_proto(cls, reward_label): 44 return cls._REWARD_LABEL_TO_PROTO.get(reward_label, RewardLabelProto.REWARD_LABEL_UNSPECIFIED) 45 46 47 @Enum 48 49 class GoalSubType(object): 50 CAREER_PATH_GOAL = 'CAREER_PATH_GOAL' 51 OVERALL_GOAL = 'OVERALL_GOAL' 52 53 54 @Enum 55 56 class GoalThreat(object): 57 THREAT_NONE = 0 58 THREAT_LOW = 1 59 THREAT_MEDIUM = 2 60 THREAT_HIGH = 3 61 62 63 def get_career_path_id_from_proto_id(proto_career_path_id): 64 if proto_career_path_id == CareerPath.CAREER_EXPLORATION: 65 return cpConst.career_path_explorer 66 if proto_career_path_id == CareerPath.CAREER_INDUSTRIALIST: 67 return cpConst.career_path_industrialist 68 if proto_career_path_id == CareerPath.CAREER_ENFORCER: 69 return cpConst.career_path_enforcer 70 if proto_career_path_id == CareerPath.CAREER_SOLDIER_OF_FORTUNE: 71 return cpConst.career_path_soldier_of_fortune 72 return cpConst.career_path_none 73 74 75 def get_proto_id_from_career_path_id(career_path_id): 76 if career_path_id == cpConst.career_path_explorer: 77 return CareerPath.CAREER_EXPLORATION 78 if career_path_id == cpConst.career_path_industrialist: 79 return CareerPath.CAREER_INDUSTRIALIST 80 if career_path_id == cpConst.career_path_enforcer: 81 return CareerPath.CAREER_ENFORCER 82 if career_path_id == cpConst.career_path_soldier_of_fortune: 83 return CareerPath.CAREER_SOLDIER_OF_FORTUNE 84 return CareerPath.CAREER_UNSPECIFIED 85 86 87 GOAL_ANNOTATION_DURATION = 'duration' 88 GOAL_ANNOTATION_ACTIVITY_GROUP = 'group' 89 GOAL_ANNOTATION_GOAL_SUBTYPE = 'subtype' 90 GOAL_ANNOTATION_AURA_TEXT_ID = 'auraTextID' 91 GOAL_ANNOTATION_AGENCY_LINK_TEXT_ID = 'agencyLinkTextID' 92 GOAL_ANNOTATION_AGENCY_SCREEN_ID = 'agencyScreen' 93 GOAL_ANNOTATION_ORDER = 'order' 94 GOAL_ANNOTATION_VIDEO = 'videoID' 95 EXPLORER_CAREERAGENTMISSIONS = 101 96 EXPLORER_SCANNING = 102 97 EXPLORER_HACKING = 103 98 EXPLORER_HACKING2 = 104 99 EXPLORER_WORMHOLES = 105 100 EXPLORER_GASSITES = 106 101 EXPLORER_COMBATSITES = 107 102 EXPLORER_NAVIGATION = 108 103 EXPLORER_NAVIGATION2 = 109 104 EXPLORER_PROJECTDISCOVERY = 110 105 INDUSTRIALIST_CAREERAGENTMISSIONS = 201 106 INDUSTRIALIST_MARKET = 203 107 INDUSTRIALIST_SALVAGE = 204 108 INDUSTRIALIST_RESOURCEHARVESTING = 205 109 INDUSTRIALIST_REFINING = 206 110 INDUSTRIALIST_MANUFACTURING = 207 111 INDUSTRIALIST_DISTRIBUTIONAGENT = 208 112 INDUSTRIALIST_MININGAGENT = 209 113 INDUSTRIALIST_RESEARCH = 210 114 ENFORCER_ENFORCERCAREERAGENTMISSIONS = 301 115 ENFORCER_SECURITYAGENT = 302 116 ENFORCER_ABYSSALDEADSPACE = 303 117 ENFORCER_COMBAT = 304 118 ENFORCER_BOUNTIES = 305 119 ENFORCER_COMBATSITES = 306 120 ENFORCER_EPICARC = 307 121 ENFORCER_MARKET = 308 122 ENFORCER_STANDINGS = 309 123 ENFORCER_LOYALTYPOINTS = 310 124 SOLDIEROFFORTUNE_CAREERAGENTMISSIONS = 401 125 SOLDIEROFFORTUNE_SOCIAL = 402 126 SOLDIEROFFORTUNE_ELECTRONICWARFARE = 403 127 SOLDIEROFFORTUNE_COMBAT1 = 404 128 SOLDIEROFFORTUNE_PVP = 405 129 SOLDIEROFFORTUNE_CAPACITORWARFARE = 406 130 SOLDIEROFFORTUNE_FACTIONWARFARE = 407 131 SOLDIEROFFORTUNE_SUPPORT = 408 132 SOLDIEROFFORTUNE_DESTRUCTION = 409 133 SOLDIEROFFORTUNE_DUELS = 410 134 CAREER_PATH_GROUPS = {cpConst.career_path_explorer: OrderedDict([('CareerAgentMissions', EXPLORER_CAREERAGENTMISSIONS), 135 ('Scanning', EXPLORER_SCANNING), 136 ('Hacking', EXPLORER_HACKING), 137 ('AdvancedHacking', EXPLORER_HACKING2), 138 ('Wormholes', EXPLORER_WORMHOLES), 139 ('GasSites', EXPLORER_GASSITES), 140 ('CombatSites', EXPLORER_COMBATSITES), 141 ('Navigation', EXPLORER_NAVIGATION), 142 ('AdvancedNavigation', EXPLORER_NAVIGATION2), 143 ('ProjectDiscovery', EXPLORER_PROJECTDISCOVERY)]), 144 cpConst.career_path_industrialist: OrderedDict([('IndustrialistCareerAgentsMissions', INDUSTRIALIST_CAREERAGENTMISSIONS), 145 ('Market', INDUSTRIALIST_MARKET), 146 ('Salvage', INDUSTRIALIST_SALVAGE), 147 ('ResourceHarvesting', INDUSTRIALIST_RESOURCEHARVESTING), 148 ('Refining', INDUSTRIALIST_REFINING), 149 ('Manufacturing', INDUSTRIALIST_MANUFACTURING), 150 ('DistributionAgent', INDUSTRIALIST_DISTRIBUTIONAGENT), 151 ('MiningAgent', INDUSTRIALIST_MININGAGENT), 152 ('Research', INDUSTRIALIST_RESEARCH)]), 153 cpConst.career_path_enforcer: OrderedDict([('CareerAgentMissions', ENFORCER_ENFORCERCAREERAGENTMISSIONS), 154 ('SecurityAgent', ENFORCER_SECURITYAGENT), 155 ('AbyssalDeadspace', ENFORCER_ABYSSALDEADSPACE), 156 ('Combat', ENFORCER_COMBAT), 157 ('Bounties', ENFORCER_BOUNTIES), 158 ('CombatSites', ENFORCER_COMBATSITES), 159 ('EpicArc', ENFORCER_EPICARC), 160 ('Market', ENFORCER_MARKET), 161 ('Standings', ENFORCER_STANDINGS), 162 ('LoyaltyPoints', ENFORCER_LOYALTYPOINTS)]), 163 cpConst.career_path_soldier_of_fortune: OrderedDict([('CareerAgentMissions', SOLDIEROFFORTUNE_CAREERAGENTMISSIONS), 164 ('Social', SOLDIEROFFORTUNE_SOCIAL), 165 ('ElectronicWarfare', SOLDIEROFFORTUNE_ELECTRONICWARFARE), 166 ('Combat', SOLDIEROFFORTUNE_COMBAT1), 167 ('PvP', SOLDIEROFFORTUNE_PVP), 168 ('CapacitorWarfare', SOLDIEROFFORTUNE_CAPACITORWARFARE), 169 ('FactionWarfare', SOLDIEROFFORTUNE_FACTIONWARFARE), 170 ('Support', SOLDIEROFFORTUNE_SUPPORT), 171 ('Destruction', SOLDIEROFFORTUNE_DESTRUCTION), 172 ('Duels', SOLDIEROFFORTUNE_DUELS)])} 173 174 def get_career_path_group_id(careerPathID, annotationString): 175 careerPath = CAREER_PATH_GROUPS.get(careerPathID, None) 176 if careerPath: 177 return careerPath.get(annotationString, None) 178 179 180 def get_annotation_for_career_path_group_id(career_path_id, career_group_id): 181 career_path = CAREER_PATH_GROUPS.get(career_path_id, None) 182 if career_path: 183 for key, val in career_path.iteritems(): 184 if val == career_group_id: 185 return key