コード例 #1
0
    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 ''
コード例 #2
0
    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 ''
コード例 #3
0
ファイル: installtarget.py プロジェクト: zeus911/vpnease-l2tp
    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 ''