Skip to content

Commit b8b8067

Browse files
MakeilaLunJenkins
authored andcommitted
form spec generators: fix transform wrapper gaps
The Age generator and enable_deprecated_cascading_elements wrap their form spec in a TransformDataForLegacyFormatOrRecomposeFunction but left the wrapper without title and help text, so consumers reading the top level spec - like the global settings page - rendered untitled rows. The Age generator's from_disk transform asserted on non-integer disk values, crashing on corrupted stored data where the legacy Age raised a clean validation error. Raising ValueError instead lets the transform visitor report it as a proper validation failure. Change-Id: I50d29840f903473ec20adb383d3f34f3c94b2334
1 parent 4f999a6 commit b8b8067

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

cmk/gui/form_specs/generators/age.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ def float_to_int(value: object) -> int:
2424
return int(value)
2525

2626
def int_to_float(value: object) -> float:
27-
assert isinstance(value, int)
27+
if not isinstance(value, int):
28+
raise ValueError(f"Expected an integer, got {value!r} of type {type(value).__name__}")
2829
return float(value)
2930

3031
if displayed_magnitudes is None:
@@ -36,6 +37,8 @@ def int_to_float(value: object) -> float:
3637
]
3738

3839
return TransformDataForLegacyFormatOrRecomposeFunction(
40+
title=title,
41+
help_text=help_text,
3942
wrapped_form_spec=TimeSpan(
4043
title=title,
4144
help_text=help_text,

cmk/gui/form_specs/generators/cascading_choice_utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ def from_disk(value: object) -> tuple[str, Any]:
5959
return reversed_mapping[value].name_in_form_spec, True
6060

6161
return TransformDataForLegacyFormatOrRecomposeFunction(
62+
title=wrapped_form_spec.title,
63+
help_text=wrapped_form_spec.help_text,
6264
wrapped_form_spec=wrapped_form_spec,
6365
from_disk=from_disk,
6466
to_disk=to_disk,

0 commit comments

Comments
 (0)