@@ -32,12 +32,6 @@ class ImageConfig:
3232 def __init__ (self , repository : str , ** kwargs : Any ) -> None :
3333 self ._repository = repository
3434 self ._data = kwargs
35- # Compute framework_group from GLOBAL_CONFIG, default to repository
36- self ._framework_group = repository
37- for group_key , repos in GLOBAL_CONFIG .get ("framework_groups" , {}).items ():
38- if repository in repos :
39- self ._framework_group = group_key
40- break
4135
4236 @classmethod
4337 def from_yaml (cls , path : Path , repository : str ) -> "ImageConfig" :
@@ -66,7 +60,10 @@ def repository(self) -> str:
6660 @property
6761 def framework_group (self ) -> str :
6862 """Framework group key (or repository if not in a group)."""
69- return self ._framework_group
63+ for group_key , repos in GLOBAL_CONFIG .get ("framework_groups" , {}).items ():
64+ if self ._repository in repos :
65+ return group_key
66+ return self ._repository
7067
7168 @property
7269 def is_supported (self ) -> bool :
@@ -121,27 +118,27 @@ def display_repository(self) -> str:
121118 raise KeyError (f"Display name not found for: { self ._repository } " )
122119 return display_names [self ._repository ]
123120
121+ @property
122+ def display_tag (self ) -> str :
123+ """Get first tag for display (used in available_images.md). Tags must be a list."""
124+ tags = self .get ("tags" , [])
125+ if not isinstance (tags , list ):
126+ raise ValueError (f"'tags' field must be a list in { self ._repository } " )
127+ return tags [0 ] if tags else ""
128+
124129 @property
125130 def display_framework_group (self ) -> str :
126131 """Get human-readable display name for the framework group."""
127132 display_names = GLOBAL_CONFIG .get ("display_names" , {})
128- if self ._framework_group not in display_names :
129- raise KeyError (f"Display name not found for: { self ._framework_group } " )
130- return display_names [self ._framework_group ]
133+ if self .framework_group not in display_names :
134+ raise KeyError (f"Display name not found for: { self .framework_group } " )
135+ return display_names [self .framework_group ]
131136
132137 @property
133138 def display_framework_version (self ) -> str :
134139 """Framework and version combined for table display."""
135140 return f"{ self .get ('framework' , '' )} { self .get ('version' , '' )} "
136141
137- @property
138- def display_tag (self ) -> str :
139- """Get first tag for display (used in available_images.md). Tags must be a list."""
140- tags = self .get ("tags" , [])
141- if not isinstance (tags , list ):
142- raise ValueError (f"'tags' field must be a list in { self ._repository } " )
143- return tags [0 ] if tags else ""
144-
145142 @property
146143 def display_example_url (self ) -> str :
147144 """Example ECR URL for table display."""
0 commit comments