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)