@@ -133,16 +133,13 @@ def from_dict(cls: Type[T], data: Dict[str, Any], skip_render: bool = False) ->
133133 instance = apply_global_config_defaults (instance , data )
134134 after = instance .to_dict ()
135135 if before != after :
136- # Compute diff of updated fields
137136 diff = {k : (before .get (k ), after .get (k )) for k in after .keys () if before .get (k ) != after .get (k )}
138137 logger .debug ("from_dict: applied global defaults for %s; changes=%r" , cls .__name__ , diff )
139138 else :
140139 logger .debug ("from_dict: applied global defaults for %s; no changes" , cls .__name__ )
141140 except ImportError :
142- # Global config module unavailable
143141 logger .debug ("from_dict: global_config not available; skipped applying globals for %s" , cls .__name__ )
144142 except Exception :
145- # Global defaults application should not break overall flow
146143 logger .debug ("from_dict: apply_global_config_defaults raised; ignored for %s" , cls .__name__ )
147144
148145 # Render template fields after globals/defaults. Skipped if skip_render is True.
@@ -213,19 +210,15 @@ def _render_template_fields(self):
213210 default_template ,
214211 )
215212 field_value = default_template
216- # Save original template string
217213 self ._template_originals [field_info .name ] = default_template
218- # Mark value source
219214 try :
220215 if not hasattr (self , '_value_sources' ):
221216 self ._value_sources = {}
222217 self ._value_sources [field_info .name ] = 'default_template'
223218 except Exception :
224219 pass
225- # Set template value first so there is a visible value even if rendering fails
226220 setattr (self , field_info .name , default_template )
227221 else :
228- # No default_template; skip
229222 logger .debug ("[%s] [template] field %s is Auto/empty and has no default_template -> skip" , cfg_name , field_info .name )
230223 continue
231224
@@ -239,13 +232,7 @@ def _render_template_fields(self):
239232
240233 try :
241234 rendered = render_template (field_value )
242- logger .debug (
243- "[%s] [template] rendered field %s: %r -> %r" ,
244- cfg_name ,
245- field_info .name ,
246- field_value ,
247- rendered ,
248- )
235+ logger .debug ("[%s] [template] rendered field %s: %r -> %r" , cfg_name , field_info .name , field_value , rendered )
249236 # Fail if unresolved placeholders remain
250237 if '{{' in str (rendered ) and '}}' in str (rendered ):
251238 error_msg = (
@@ -258,9 +245,6 @@ def _render_template_fields(self):
258245 if rendered != field_value :
259246 logger .debug ("[%s] [template] apply rendered value for %s" , cfg_name , field_info .name )
260247 setattr (self , field_info .name , rendered )
261- # Extra logging for image_tag
262- if field_info .name == "image_tag" :
263- logger .info ("[%s] [template] image_tag final value: %r" , cfg_name , getattr (self , field_info .name ))
264248 except Exception as e :
265249 # Do not silently fallback on render failures; surface details
266250 error_type = type (e ).__name__
@@ -320,18 +304,12 @@ def to_persist_dict(self) -> Dict[str, Any]:
320304 chosen = original_tpl if original_tpl is not None else current_value
321305 result [name ] = chosen
322306 logger .debug ("[persist] field=%s source=default_template original=%r current=%r -> write=%r" , name , original_tpl , current_value , chosen )
323- elif source == 'default' :
324- # Default source: persist current value
325- result [name ] = current_value
326- logger .debug ("[persist] field=%s source=default -> write=%r" , name , current_value )
327- elif source == 'local' :
328- # Local source: if it was a template input, prefer original template
307+ elif source == 'default' or source == 'local' :
329308 if original_tpl is not None :
330309 result [name ] = original_tpl
331- logger .debug ("[persist] field=%s source=local original_tpl exists -> write original=%r" , name , original_tpl )
332310 else :
333311 result [name ] = current_value
334- logger .debug ("[persist] field=%s source=local no original_tpl -> write current =%r" , name , current_value )
312+ logger .debug ("[persist] field=%s source=%s original=%r current=%r -> write=%r" , name , source , original_tpl , current_value , result [ name ] )
335313 else :
336314 # Unknown source: keep current value
337315 result [name ] = current_value
0 commit comments