NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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