agencyMessenger.py (3099B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\agencyNew\message_bus\agencyMessenger.py 2 import logging 3 from stackless_response_router.exceptions import TimeoutException 4 from eveProto.generated.eve_public.app.eveonline.agency.ui.action_pb2 import Taken as ActionTaken 5 from eveProto.generated.eve_public.app.eveonline.agency.ui.bookmark_pb2 import Added as BookmarkAdded 6 from eveProto.generated.eve_public.app.eveonline.agency.ui.filter_pb2 import Changed as FilterChanged 7 from eveProto.generated.eve_public.app.eveonline.agency.ui.content_pb2 import CardClicked as ContentCardClicked 8 from eveProto.generated.eve_public.app.eveonline.agency.ui.group_pb2 import CardClicked as GroupCardClicked 9 from eveProto import split_precision 10 from eveProto.generated.eve_public.app.eveonline.agency.ui.help.video.link_pb2 import Created, Clicked 11 logger = logging.getLogger(__name__) 12 13 class AgencyMessenger(object): 14 public_gateway = None 15 16 def __init__(self, public_gateway): 17 self.public_gateway = public_gateway 18 19 def action_taken(self, action_id, content_id): 20 event = ActionTaken() 21 event.action = action_id 22 event.content = content_id 23 self.public_gateway.publish_event_payload(event) 24 25 def bookmark_added(self, group_id): 26 event = BookmarkAdded() 27 event.group = group_id 28 self.public_gateway.publish_event_payload(event) 29 30 def filter_changed(self, filter_id, group_id, filter_value): 31 event = FilterChanged() 32 event.filter = filter_id 33 event.group = group_id 34 event.value = filter_value 35 self.public_gateway.publish_event_payload(event) 36 37 def content_card_clicked(self, content_id, num_jumps, security_status): 38 event = ContentCardClicked() 39 units, nanos = split_precision(security_status) 40 event.content = content_id 41 event.jumps = num_jumps 42 event.security_status.units = units 43 event.security_status.nanos = nanos 44 self.public_gateway.publish_event_payload(event) 45 46 def group_card_clicked(self, group_id): 47 event = GroupCardClicked() 48 event.group = group_id 49 self.public_gateway.publish_event_payload(event) 50 51 def help_video_link_created(self, video_path): 52 event = Created() 53 event.video_path = video_path 54 self.public_gateway.publish_event_payload(event) 55 56 def help_video_link_clicked(self, video_path): 57 event = Clicked() 58 event.video_path = video_path 59 self.public_gateway.publish_event_payload(event) 60 61 def _send_request_and_wait_for_response(self, request, expected_response_class, response_handler, timeout_handler = None): 62 request_primitive, response_channel = self.public_gateway.send_character_request(request, expected_response_class, 10) 63 try: 64 response_primitive, payload = response_channel.receive() 65 response_handler(response_primitive, payload) 66 except TimeoutException as e: 67 if timeout_handler is not None: 68 timeout_handler(e)