コード例 #1
0
ファイル: VMinfoDB.py プロジェクト: OlafRadicke/isar
 def getVMinfo(self, name):
     _vmList = list()
     _rows = self.__conn.execute \
         ( \
             "SELECT \
             name, \
             createdate, \
             lifetimedays, \
             comment, \
             mail, \
             image_file, \
             owner, \
             os \
             FROM vmachine \
             WHERE \
             name = '"                          + name + "';" \
         )
     for _row in _rows:
         name, createdate, lifetimedays, comment, mail, image_file, owner, os = _row
         _vmInfo = VMinfo()
         _vmInfo.name = name
         _vmInfo.createdate = createdate
         _vmInfo.lifetimedays = lifetimedays
         _vmInfo.comment = comment
         _vmInfo.mail = mail
         _vmInfo.image_file = image_file
         _vmInfo.owner = owner
         _vmInfo.os = os
         _vmList.append(_vmInfo)
     return _vmList[0]
コード例 #2
0
ファイル: VMinfoDB.py プロジェクト: OlafRadicke/isar
 def getVMinfo(self, name):
     _vmList = list()
     _rows = self.__conn.execute \
         ( \
             "SELECT \
             name, \
             createdate, \
             lifetimedays, \
             comment, \
             mail, \
             image_file, \
             owner, \
             os \
             FROM vmachine \
             WHERE \
             name = '" + name + "';" \
         )
     for _row in _rows:
         name, createdate, lifetimedays, comment, mail, image_file, owner, os = _row
         _vmInfo = VMinfo()
         _vmInfo.name = name
         _vmInfo.createdate = createdate
         _vmInfo.lifetimedays = lifetimedays
         _vmInfo.comment = comment
         _vmInfo.mail = mail
         _vmInfo.image_file = image_file
         _vmInfo.owner = owner
         _vmInfo.os = os
         _vmList.append(_vmInfo)
     return _vmList[0]
コード例 #3
0
ファイル: MainWindow.py プロジェクト: OlafRadicke/isar
 def importAllExistVM(self):
     logging.debug("[importAllExistVM]")
     _kvmManager = KVMManager()
     _infotext = _kvmManager.getAllExistVM()
     _vmInfo = VMinfo()
     _importVMList = list()
     _VMList = list()
     try:
         _VMList = self.__vmInfoDB.getAllVMinfo()
     except sqlite3.Error, e:
         infotext = "An error occurred:", e.args[0]
         QtGui.QMessageBox.critical(self, "Error", str(infotext))
         return
コード例 #4
0
ファイル: NewVMWindow.py プロジェクト: OlafRadicke/isar
    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  
コード例 #5
0
 def reConfigureVM(self):       
     print "[reConfigureVM...]"
     _result = ""
     _vmInfo = VMinfo()
          
     _vmInfo.name = str(self.vmNameLineEdit.text())
     _vmInfo.lifetimedays = str(self.lifeTimeSpinBox.value())
     _vmInfo.comment = unicode(self.commentLineEdit.text(), "utf-8")
     _vmInfo.mail = str(self.mailLineEdit.text())
     _vmInfo.owner = unicode(self.__vmOwnerLineEdit.text(), "utf-8")
  
     try:     
         self.__vmInfoDB.updateVMinfo(_vmInfo)
     except sqlite3.Error, e:
         infotext = "An error occurred:", e.args[0]
         QtGui.QMessageBox.critical(self, "Error",str(infotext))
         return  
コード例 #6
0
ファイル: CloneVMWindow.py プロジェクト: OlafRadicke/isar
    def cloneVM(self):
        print "[cloneVM...]"
        _result = ""
        _kvmManager = KVMManager()
        _vmInfo = VMinfo()
        
        _owner = str(self.owenerComboBox.currentText())
        _userInfo = self.__vmInfoDB.getUser(_owner)
        _lifeTime = str(self.lifeTimeSpinBox.value())
        _comment = unicode(self.commentNameLineEdit.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")
        self._distName = self._distName.replace(unicode(" ", "utf-8"), "_")
        _vmName = _owner + "_" + self._distName + "_" + _vmName
        
        _kvmManager.setOwnersHome(_userInfo.homedir)   
        _kvmManager.setMachineName(_vmName) 
        _kvmManager.setOriginalVM(self.__originalVM) 
        
        try:
            _result = _kvmManager.cloneMachine()

            mb = DetailInfoDialog()
            mb.setText("Result detail:")
            mb.setDetailedText(_result)
            mb.exec_()
            #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))
            return