X-Git-Url: https://code.grnet.gr/git/snf-image-creator/blobdiff_plain/47505e5305367404db5722e1c670d61286490b76..6f391961317833dba163eb4cda1685264e1a1de5:/image_creator/dialog_wizard.py diff --git a/image_creator/dialog_wizard.py b/image_creator/dialog_wizard.py index cfce374..0856d8a 100644 --- a/image_creator/dialog_wizard.py +++ b/image_creator/dialog_wizard.py @@ -336,26 +336,32 @@ def start_wizard(session): # Create Sysprep Params Wizard Page needed = image.os.needed_sysprep_params - param_names = needed.keys() + # Only show the parameters that don't have default values + param_names = [param for param in needed if needed[param].default is None] def sysprep_params_fields(): fields = [] available = image.os.sysprep_params for name in param_names: text = needed[name].description - default = available[name] if name in available else "" + default = str(available[name]) if name in available else "" fields.append(("%s: " % text, default, SYSPREP_PARAM_MAXLEN)) return fields def sysprep_params_validate(answer): params = {} for i in range(len(answer)): - if needed[param_names[i]].validator(answer): - params[param_names[i]] = answer[i] - else: - session['dialog'].msgbox("Invalid value for parameter `%s'" % - param_names[i]) - raise WizardReloadPage + try: + value = needed[param_names[i]].type(answer[i]) + if needed[param_names[i]].validate(value): + params[param_names[i]] = value + continue + except ValueError: + pass + + session['dialog'].msgbox("Invalid value for parameter `%s'" % + param_names[i]) + raise WizardReloadPage return params def sysprep_params_display(params):