slot_layout.py (2107B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\ships\skins\live_data\slot_layout.py 2 from cosmetics.client.ships.skins.live_data.component_instance import create_component_instance, build_config_proto_from_component_instance 3 from cosmetics.client.shipSkinComponentSvc import get_ship_skin_component_svc 4 from cosmetics.common.ships.skins.live_data.slot_layout import BaseSlotLayout 5 from player_messaging.client.ui_message import message_player 6 from eveProto.generated.eve_public.cosmetic.ship.skin.thirdparty.slot.slot_pb2 import Identifier as SlotIdentifier 7 from eveProto.generated.eve_public.cosmetic.ship.skin.thirdparty.thirdparty_pb2 import Layout 8 from eveProto.generated.eve_public.ship.ship_type_pb2 import Identifier as ShipTypeIdentifier 9 from localization import GetByLabel 10 from publicGateway.grpc.exceptions import GenericException 11 from stackless_response_router.exceptions import TimeoutException 12 13 class SlotLayout(BaseSlotLayout): 14 LAYOUT_PROTO = Layout 15 SLOT_IDENTIFIER_PROTO = SlotIdentifier 16 SHIP_TYPE_PROTO = ShipTypeIdentifier 17 18 def create_component_instance(self, component_id, **kwargs): 19 return create_component_instance(component_id, **kwargs) 20 21 @classmethod 22 def build_config_proto_from_component_instance(cls, component_instance): 23 return build_config_proto_from_component_instance(component_instance) 24 25 def get_component_license(self, component_id, component_type): 26 try: 27 return get_ship_skin_component_svc().get_default_license_to_use(component_id, component_type) 28 except (GenericException, TimeoutException): 29 message_player(GetByLabel('UI/Common/CannotConnectToServer')) 30 return None 31 32 def get_component_license_of_type(self, component_id, component_type, license_type): 33 try: 34 return get_ship_skin_component_svc().get_license(component_id, component_type, license_type) 35 except (GenericException, TimeoutException): 36 message_player(GetByLabel('UI/Common/CannotConnectToServer')) 37 return None