("File injection", ["EnforcePersonality"], ["windows", "linux"])
]
+SYSPREP_PARAM_MAXLEN = 20
class MetadataMonitor(object):
"""Monitors image metadata chages"""
if len(Kamaki.get_clouds()):
default_item = "Cloud"
else:
- default_time = "Add/Edit"
+ default_item = "Add/Edit"
else:
- default_time = "Delete"
+ default_item = "Delete"
elif choice == "Cloud":
default_item = "Cloud"
clouds = Kamaki.get_clouds()
def sysprep_params(session):
-
+ """Collect the needed sysprep parameters"""
d = session['dialog']
image = session['image']
available = image.os.sysprep_params
- needed = image.os.needed_sysprep_params()
+ needed = image.os.needed_sysprep_params
+ names = needed.keys()
if len(needed) == 0:
return True
fields = []
- for param in needed:
- default = available[param.name] if param.name in available else ""
- fields.append(("%s: " % param.description, default, param.length))
+ for name in names:
+ param = needed[name]
+ default = available[name] if name in available else ""
+ fields.append(("%s: " % param.description, default,
+ SYSPREP_PARAM_MAXLEN))
txt = "Please provide the following system preparation parameters:"
code, output = d.form(txt, height=13, width=WIDTH, form_height=len(fields),
if code in (d.DIALOG_CANCEL, d.DIALOG_ESC):
return False
- sysprep_params = {}
for i in range(len(fields)):
- if needed[i].validator(output[i]):
- image.os.sysprep_params[needed[i].name] = output[i]
+ param = needed[names[i]]
+ if param.validator(output[i]):
+ image.os.sysprep_params[names[i]] = output[i]
else:
d.msgbox("The value you provided for parameter: %s is not valid" %
- name, width=SMALL_WIDTH)
+ names[i], width=SMALL_WIDTH)
return False
return True