requestMessenger.py (1519B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\messengers\entitlements\character\ship\requestMessenger.py 2 import logging 3 from publicGateway.grpc.exceptions import GenericException 4 from cosmetics.client.messengers.entitlements.character.ship import new_entitlement_from_type 5 from eveProto.generated.eve_public.entitlement.character.character_pb2 import GetAllRequest, GetAllResponse 6 TIMEOUT_SECONDS = 10 7 logger = logging.getLogger(__name__) 8 9 class PublicEntitlementsRequestsMessenger(object): 10 public_gateway = None 11 12 def __init__(self, public_gateway): 13 self.public_gateway = public_gateway 14 15 def get_owned_ship_logos(self): 16 owned_ship_logos = [] 17 request = GetAllRequest() 18 request_wrapper, response_wrapper, response_payload = self.blocking_request(request, GetAllResponse) 19 if response_wrapper.status_code != 200: 20 raise GenericException(request_primitive=request_wrapper, response_primitive=response_wrapper) 21 for logo_entitlement in response_payload.entitlements: 22 owned_ship_logos.append(new_entitlement_from_type(logo_entitlement)) 23 24 return owned_ship_logos 25 26 def blocking_request(self, request, response_class): 27 request_primitive, response_channel = self.public_gateway.send_character_request(request, response_class, TIMEOUT_SECONDS) 28 response_primitive, payload = response_channel.receive() 29 return (request_primitive, response_primitive, payload)