+ # Create Sysprep Params Wizard Page
+ needed = image.os.needed_sysprep_params()
+
+ def sysprep_params_fields():
+ fields = []
+ available = image.os.sysprep_params
+ for param in needed:
+ text = param.description
+ default = available[param.name] if param.name in available else ""
+ fields.append(("%s: " % text, default, param.length))
+ return fields
+
+ def sysprep_params_validate(answer):
+ params = {}
+ for i in range(len(answer)):
+ if needed[i].validator(answer):
+ params[needed[i].name] = answer[i]
+ else:
+ session['dialog'].msgbox("Invalid value for parameter `%s'" %
+ needed[i].name)
+ raise WizardReloadPage
+ return params
+
+ def sysprep_params_display(params):
+ return ",".join(["%s=%s" % (key, val) for key, val in params.items()])
+
+ sysprep_params = WizardFormPage(
+ "SysprepParams", "Sysprep Parameters",
+ "Prease fill in the following system preparation parameters:",
+ title="System Preparation Parameters", fields=sysprep_params_fields,
+ display=sysprep_params_display, validate=sysprep_params_validate
+ ) if len(needed) != 0 else None
+
+ # Create Image Registration Wizard Page