external_messenger.py (2934B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\sovereignty\fuel\client\external_messenger.py 2 from __future__ import print_function 3 from six.moves import http_client as httplib 4 from eveProto import timestamp_to_blue 5 from eveProto.generated.eve_public.sovereignty.hub.fuel.api import requests_pb2 6 from eveProto.generated.eve_public.sovereignty.hub.hub_pb2 import Identifier as HubIdentifier 7 from publicGateway.grpc.exceptions import GenericException 8 from sovereignty.client.base_external_messenger import BaseClientExternalMessenger 9 from eveProto.generated.eve_public.inventory.generic_item_pb2 import Identifier as ItemID 10 import sovereignty.fuel.client.errors as errors 11 from sovereignty.fuel.client.data_types import Fuel 12 13 class SovFuelExternalMessenger(BaseClientExternalMessenger): 14 15 def get(self, hub_id): 16 try: 17 request = requests_pb2.GetRequest(hub=HubIdentifier(sequential=hub_id)) 18 request_wrapper, response_wrapper, response_payload = self._send_request(request, requests_pb2.GetResponse) 19 except GenericException as e: 20 if e.response_primitive.status_code == httplib.FORBIDDEN: 21 raise errors.SovFuelGetLevelsForbiddenError(e) 22 if e.response_primitive.status_code == httplib.INTERNAL_SERVER_ERROR: 23 raise errors.SovFuelGetLevelInternalError(e) 24 raise errors.SovFuelGetLevelsError(e) 25 26 fuels = response_payload.fuels 27 last_updated = timestamp_to_blue(response_payload.last_updated) 28 fuel_by_type_id = {x.fuel_type.sequential:Fuel(x.fuel_type.sequential, x.amount, x.burned_per_hour, last_updated) for x in fuels} 29 return fuel_by_type_id 30 31 def add_fuel(self, fuel_item_id, amount, hub_id): 32 try: 33 request = requests_pb2.AddRequest(fuel_item=ItemID(sequential=fuel_item_id), amount=amount, hub=HubIdentifier(sequential=hub_id)) 34 request_wrapper, response_wrapper, response_payload = self._send_request(request, requests_pb2.AddResponse) 35 except GenericException as e: 36 if e.response_primitive.status_code == httplib.FORBIDDEN: 37 raise errors.SovFuelAddRequestForbiddenError(e) 38 if e.response_primitive.status_code == httplib.NOT_FOUND: 39 raise errors.SovFuelAddRequestNotFoundError(e) 40 if e.response_primitive.status_code == httplib.INTERNAL_SERVER_ERROR: 41 raise errors.SovFuelAddRequestInternalError(e) 42 raise errors.SovFuelAddRequestError(e) 43 44 45 class FakseSovFuelExternalMessenger(object): 46 47 def get(self, hub_id): 48 from datetimeutils.RFC3339 import datetime_to_blue 49 last_updated = datetime_to_blue('2000-01-01T00:00:00Z') 50 return {81144: Fuel(81144, 5123, 10, last_updated), 51 81143: Fuel(81143, 53, 15, last_updated)} 52 53 def add_fuel(self, fuel_item_id, amount, hub_id): 54 print('fuel added')