content_provider.py (1905B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\character\title\repository\flatbuffer\content_provider.py 2 import logging 3 from cosmetics.client.character.title.const import LOGGER_NAME 4 from publicGateway.gateway import PublicGateway 5 from content.client.flatbuffer.provider import FlatbufferContentProvider 6 from eveProto.generated.eve_public.cosmetic.character.title.definition.api.requests_pb2 import GetLatestRequest, GetLatestResponse 7 from eveProto.generated.eve_public.localization.localization_pb2 import Language as ProtoLanguage 8 logger = logging.getLogger(LOGGER_NAME) 9 10 class TitleLocalizedDefinitionsProvider(FlatbufferContentProvider): 11 request_type = GetLatestRequest 12 response_type = GetLatestResponse 13 14 def __init__(self, public_gateway, language_code): 15 super(TitleLocalizedDefinitionsProvider, self).__init__(public_gateway) 16 self._language_code = language_code 17 18 def fetch(self, local_version, latest_version = None): 19 try: 20 if latest_version is not None and local_version == latest_version: 21 logger.info('local version == latest_version == %s, nothing to fetch', latest_version) 22 return (None, None) 23 return super(TitleLocalizedDefinitionsProvider, self).fetch(local_version, latest_version) 24 except Exception as e: 25 logger.exception('Exception while trying to fetch definitions: %s', e) 26 if local_version is not None: 27 logger.info('Could not fetch definitions, falling back to latest local version %s', local_version) 28 return (None, None) 29 raise e 30 31 def construct_request(self, version): 32 request = super(TitleLocalizedDefinitionsProvider, self).construct_request(version) 33 request.language.CopyFrom(ProtoLanguage(code=self._language_code)) 34 return request