NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

__init__.py (1272B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\messengers\entitlements\character\ship\__init__.py
      2 from eveProto.generated.eve_public.entitlement.character.ship.corplogo_pb2 import Identifier as CorpLogo
      3 from eveProto.generated.eve_public.entitlement.character.ship.alliancelogo_pb2 import Identifier as AllianceLogo
      4 from eve.common.script.mgt.entitlements import types
      5 KEY_TYPE = 'entitlement_type'
      6 KEY_SHIP_TYPE = 'ship_type_id'
      7 
      8 def new_entitlement_from_type(pb_entitlement_type):
      9     entitlement_pb = getattr(pb_entitlement_type, pb_entitlement_type.WhichOneof('entitlement_type'))
     10     return new_entitlement(entitlement_pb)
     11 
     12 
     13 def new_entitlement(pb_entitlement):
     14     f = character_ship_entitlement_factory[pb_entitlement.__class__]
     15     return f(pb_entitlement)
     16 
     17 
     18 def new_alliance_logo_entitlement(alliance_logo_pb):
     19     return {KEY_TYPE: types.SHIP_LOGO_ALLIANCE,
     20      KEY_SHIP_TYPE: alliance_logo_pb.ship_type.sequential}
     21 
     22 
     23 def new_corporation_logo_entitlement(corp_logo_pb):
     24     return {KEY_TYPE: types.SHIP_LOGO_CORPORATION,
     25      KEY_SHIP_TYPE: corp_logo_pb.ship_type.sequential}
     26 
     27 
     28 character_ship_entitlement_factory = {CorpLogo: new_corporation_logo_entitlement,
     29  AllianceLogo: new_alliance_logo_entitlement}