const.py (1761B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\ui\window\page\achievements\navigation\const.py 2 from achievement_system.client.api.repository import get_repository 3 from achievement_system.client.model.definition.category.identifier import CategoryDefinitionIdentifier 4 from achievement_system.client.model.definition.category.ui_annotations import CustomUiClassType 5 from achievement_system.client.ui.window.const import NavigationEntryID 6 from achievement_system.client.ui.window.page.achievements.navigation.page.archived import ArchivedPage 7 from achievement_system.client.ui.window.page.achievements.navigation.page.category import CategoryPage 8 from achievement_system.client.ui.window.page.achievements.navigation.page.category_campaigns import CustomCategoryPageMilitaryCampaigns 9 from achievement_system.client.ui.window.page.achievements.navigation.page.overview import OverviewPage 10 page_class_by_navigation_id = {NavigationEntryID.OVERVIEW: OverviewPage, 11 NavigationEntryID.ARCHIVED: ArchivedPage} 12 custom_category_page_class_by_type = {CustomUiClassType.MILITARY_CAMPAIGNS: CustomCategoryPageMilitaryCampaigns} 13 14 def get_page_class(entry_id): 15 if isinstance(entry_id, CategoryDefinitionIdentifier): 16 category_attributes = get_repository().definitions.get_category(entry_id) 17 custom_class_type = category_attributes.get_custom_class_name() 18 if custom_class_type is not None: 19 return custom_category_page_class_by_type[custom_class_type] 20 else: 21 return CategoryPage 22 else: 23 return page_class_by_navigation_id[entry_id] 24 25 26 def is_category_class(cls): 27 return cls == CategoryPage or cls in custom_category_page_class_by_type.values()