- title="Image Description", empty=True,
- init=session['metadata']['DESCRIPTION'] if 'DESCRIPTION' in
- session['metadata'] else '')
- account = WizardInputPage("account",
- "Please provide your ~okeanos account e-mail:",
- title="~okeanos account information", init=Kamaki.get_account())
- token = WizardInputPage("token",
- "Please provide your ~okeanos account token:",
- title="~okeanos account token", init=Kamaki.get_token())
-
- msg = "All necessary information has been gathered. Confirm and Proceed."
- proceed = WizardYesNoPage(msg, title="Confirmation")
+ title="Image Description", init=session['metadata']['DESCRIPTION'] if
+ 'DESCRIPTION' in session['metadata'] else '')
+
+ registration = WizardRadioListPage(
+ "ImageRegistration", "Registration Type",
+ "Please provide a registration type:",
+ [("Private", "Image is accessible only by this user"),
+ ("Public", "Everyone can create VMs from this image")],
+ title="Registration Type", default="Private")
+
+ def validate_account(token):
+ if len(token) == 0:
+ d.msgbox("The token cannot be empty", width=PAGE_WIDTH)
+ raise WizardInvalidData
+
+ account = Kamaki.get_account(token)
+ if account is None:
+ session['dialog'].msgbox("The token you provided in not valid!",
+ width=PAGE_WIDTH)
+ raise WizardInvalidData
+
+ return account
+
+ account = WizardInputPage(
+ "Account", "Account",
+ "Please provide your ~okeanos authentication token:",
+ title="~okeanos account", init=init_token, validate=validate_account,
+ display=lambda account: account['username'])