Exemple #1
0
    def createNewVM(self):       
        print "[createNewVM...]"
        _result = ""
        _kvmManager = KVMManager()
        _vmInfo = VMinfo()
        
        _owner = str(self.ownerComboBox.currentText())
        _userInfo = self.__vmInfoDB.getUser(_owner)
        _rawDistName = str(self.isoComboBox.currentText())
        _distName = _rawDistName.replace(" ", "_")
        _IsoPath = self.__vmInfoDB.getISOpath(_rawDistName)
        print "[_IsoPath]: ", _IsoPath
        if _IsoPath == -1:
            QtGui.QMessageBox.critical(self, "Error","No Paht of ISO found!")
            return
        _lifeTime = str(self.lifeTimeSpinBox.value() )
        _comment = unicode(self.commentLineEdit.text())
        
        _vmName = unicode(self.vmNameLineEdit.text())
        _vmName = _vmName.replace(unicode(" ", "utf-8"), "_")
        _vmName = _vmName.replace(unicode("ü", "utf-8"), "ue")
        _vmName = _vmName.replace(unicode("Ü", "utf-8"), "Ue")
        _vmName = _vmName.replace(unicode("ö", "utf-8"), "oe")
        _vmName = _vmName.replace(unicode("Ö", "utf-8"), "Oe")
        _vmName = _vmName.replace(unicode("ä", "utf-8"), "ae")
        _vmName = _vmName.replace(unicode("Ä", "utf-8"), "Ae")
        _vmName = _vmName.replace(unicode("ß", "utf-8"), "ss")
        _vmName = _owner + "_" + _distName + "_" + _vmName
        
        _kvmManager.setOwnersHome(_userInfo.homedir)   
        _kvmManager.setMachineName(_vmName) 
        _kvmManager.setRAM(str(self.ramSpinBox.value()))
        _kvmManager.setHdSize(str(self.hdSpinBox.value()))
        _kvmManager.setIsoPath(_IsoPath)
        
        try:  
            _result = _kvmManager.createNewMachine()
            QtGui.QMessageBox.information(self, "Result", _result) 
        except subprocess.CalledProcessError, e:
            infotext = "An error occurred:", (e.output.replace('\n',' ')).replace('\r',' ')
            #QtGui.QMessageBox.critical(self, "Error",str(infotext))
            ret = QtGui.QMessageBox.critical(self, \
                                "Error", \
                                str(infotext), \
                                QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Ignore)

            if (ret == QtGui.QMessageBox.Cancel):   
                return