def submitted_select_target(self, ctx, form, data): print 'submitted_select_target' # XXX: target selection error messages as constants? fda = formalutils.FormDataAccessor(form, [], ctx) target = None recovery = False large_install = False try: target = form.data['selecttarget.target'] print 'selected target: %s' % target medium = mediahelper.get_media().get_medium_by_device_name(target) if medium.get_size() < constants.DISK_SIZE_MINIMUM: fda.add_error('selecttarget.target', 'Minimum target medium size is 2 GB') if medium.is_write_protected(): fda.add_error('selecttarget.target', 'Target medium is write-protected') if form.data.has_key('selecttarget.recovery'): recovery = form.data['selecttarget.recovery'] if medium.get_size() >= constants.DISK_SIZE_MINIMUM_FOR_LARGE_INSTALL: large_install = True except: fda.add_error('selecttarget.target', 'Target medium cannot be selected') fda.finalize_validation() root = livecddb.get_livecd_database_root() root.setS(ns_ui.targetDevice, rdf.String, target) root.setS(ns_ui.attemptRecovery, rdf.Boolean, recovery) root.removeNodes(ns_ui.previousConfigurationRdfXml) root.removeNodes(ns_ui.previousInstalledVersion) # Recovery check here if recovery: print 'attempting recovery from %s' % target try: prev_cfg, prev_version = installhelpers.recover_existing_configuration(target) if prev_cfg is not None: root.setS(ns_ui.previousConfigurationRdfXml, rdf.String, prev_cfg.encode('hex')) if prev_version is not None: root.setS(ns_ui.previousInstalledVersion, rdf.String, prev_version) else: pass else: raise Exception('did not find recovery data') except: print 'recovery failed' # Select installation model based on target size root.setS(ns_ui.installLargeDisk, rdf.Boolean, large_install) print livecddb.dump_livecd_database() request = inevow.IRequest(ctx) request.redirect(request.URLPath().sibling('installconfirm.html')) return ''
def submitted_select_target(self, ctx, form, data): print 'submitted_select_target' fda = formalutils.FormDataAccessor(form, [], ctx) try: target = form.data['selecttarget.target'] print 'selected target: %s' % target medium = mediahelper.get_media().get_medium_by_device_name(target) if medium.is_write_protected(): fda.add_error('selecttarget.target', 'Target medium is write-protected') except: fda.add_error('selecttarget.target', 'Target medium cannot be selected') fda.finalize_validation() livecddb.get_livecd_database_root().setS(ns_ui.targetDevice, rdf.String, target) print livecddb.dump_livecd_database() request = inevow.IRequest(ctx) request.redirect(request.URLPath().sibling('formatconfirm.html')) return ''
def submitted_select_target(self, ctx, form, data): print 'submitted_select_target' # XXX: target selection error messages as constants? fda = formalutils.FormDataAccessor(form, [], ctx) target = None recovery = False large_install = False try: target = form.data['selecttarget.target'] print 'selected target: %s' % target medium = mediahelper.get_media().get_medium_by_device_name(target) if medium.get_size() < constants.DISK_SIZE_MINIMUM: fda.add_error('selecttarget.target', 'Minimum target medium size is 2 GB') if medium.is_write_protected(): fda.add_error('selecttarget.target', 'Target medium is write-protected') if form.data.has_key('selecttarget.recovery'): recovery = form.data['selecttarget.recovery'] if medium.get_size( ) >= constants.DISK_SIZE_MINIMUM_FOR_LARGE_INSTALL: large_install = True except: fda.add_error('selecttarget.target', 'Target medium cannot be selected') fda.finalize_validation() root = livecddb.get_livecd_database_root() root.setS(ns_ui.targetDevice, rdf.String, target) root.setS(ns_ui.attemptRecovery, rdf.Boolean, recovery) root.removeNodes(ns_ui.previousConfigurationRdfXml) root.removeNodes(ns_ui.previousInstalledVersion) # Recovery check here if recovery: print 'attempting recovery from %s' % target try: prev_cfg, prev_version = installhelpers.recover_existing_configuration( target) if prev_cfg is not None: root.setS(ns_ui.previousConfigurationRdfXml, rdf.String, prev_cfg.encode('hex')) if prev_version is not None: root.setS(ns_ui.previousInstalledVersion, rdf.String, prev_version) else: pass else: raise Exception('did not find recovery data') except: print 'recovery failed' # Select installation model based on target size root.setS(ns_ui.installLargeDisk, rdf.Boolean, large_install) print livecddb.dump_livecd_database() request = inevow.IRequest(ctx) request.redirect(request.URLPath().sibling('installconfirm.html')) return ''