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

in_memory_cache.py (3660B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\repository\flatbuffer\in_memory_cache.py
      2 import logging
      3 from achievement_system.client.model.definition.achievement.attributes import AchievementDefinitionAttributes
      4 from achievement_system.client.model.definition.achievement.identifier import AchievementDefinitionIdentifier
      5 from achievement_system.client.model.definition.category.attributes import CategoryDefinitionAttributes
      6 from achievement_system.client.model.definition.category.identifier import CategoryDefinitionIdentifier
      7 from achievement_system.client.model.definition.category.roots import AchievementCategoryRoot
      8 from achievement_system.client.model.definition.contribution_method.attributes import ContributionMethodAttributes
      9 from achievement_system.client.model.definition.contribution_method.identifier import ContributionMethodIdentifier
     10 from achievement_system.client.qa.settings import block_definitions_in_memory_loading
     11 from achievement_system.common.const import LOGGER_NAME
     12 from caching.client.storage.base_storage import BaseVersionCollectionStorage
     13 from semantic_version import SemanticVersion
     14 logger = logging.getLogger(LOGGER_NAME)
     15 if False:
     16     from typing import Dict
     17 
     18 class AchievementDefinitionsInMemoryCache(BaseVersionCollectionStorage):
     19 
     20     def __init__(self, content_id):
     21         super(AchievementDefinitionsInMemoryCache, self).__init__(content_id)
     22         self._root_categories = {}
     23         self._categories_by_id = {}
     24         self._achievements_by_id = {}
     25         self._contribution_methods_by_id = {}
     26         self._version = None
     27 
     28     def clear(self):
     29         self._root_categories = {}
     30         self._categories_by_id = {}
     31         self._achievements_by_id = {}
     32         self._contribution_methods_by_id = {}
     33         self._version = None
     34 
     35     @property
     36     def root_categories(self):
     37         return self._root_categories
     38 
     39     @property
     40     def categories_by_id(self):
     41         return self._categories_by_id
     42 
     43     @property
     44     def achievements_by_id(self):
     45         return self._achievements_by_id
     46 
     47     @property
     48     def contribution_methods_by_id(self):
     49         return self._contribution_methods_by_id
     50 
     51     def get_version(self):
     52         return self._version
     53 
     54     def set_version(self, version):
     55         self._version = version
     56 
     57     def get(self, key):
     58         pass
     59 
     60     def get_all(self):
     61         pass
     62 
     63     def set(self, key, value):
     64         pass
     65 
     66     def set_all(self, values):
     67         if block_definitions_in_memory_loading.is_enabled():
     68             logger.info('definitions are blocked from loading in-memory (by admin action)')
     69             return
     70         self._root_categories = values[0]
     71         self._categories_by_id = values[1]
     72         self._achievements_by_id = values[2]
     73         self._contribution_methods_by_id = values[3]
     74 
     75     def print_definitions(self):
     76         category_roots = 'Definitions - Category Roots:\n'
     77         for k, v in self._root_categories.items():
     78             category_roots += '%s:\n %s\n' % (k, v)
     79 
     80         logger.info(category_roots)
     81         categories = 'Definitions - Categories:\n'
     82         for k, v in self._categories_by_id.items():
     83             categories += '%s:\n %s\n' % (k, v)
     84 
     85         logger.info(categories)
     86         achievements = 'Definitions - Achievements:\n'
     87         for k, v in self._achievements_by_id.items():
     88             achievements += '%s:\n %s\n' % (k, v)
     89 
     90         logger.info(achievements)
     91         contrib_methods = 'Definitions - Contrib Methods:\n'
     92         for k, v in self._contribution_methods_by_id.items():
     93             contrib_methods += '%s:\n %s\n' % (k, v)
     94 
     95         logger.info(contrib_methods)