def saveSetupFile(self, setupObject): setupFilePath = setupObject.setupPath if os.path.isfile(setupFilePath): limboSetupObject = copy.deepcopy(setupObject) limboSetupObject.decimalPlaces = int(self.precComboBox.currentText()) limboSetupObject.marxanPath = self.marxanLineEdit.text() limboSetupObject.inputPath = self.inputLineEdit.text() limboSetupObject.outputPath = self.outputLineEdit.text() limboSetupObject.puPath = self.puLineEdit.text() limboSetupObject.targetPath = self.targLineEdit.text() cluz_setup.checkStatusObjectValues(limboSetupObject) if limboSetupObject.setupStatus == "values_checked": cluz_setup.createAndCheckCLUZFiles(limboSetupObject) setupObject = copy.deepcopy(limboSetupObject) if setupObject.setupStatus == "files_checked": cluz_setup.updateClzSetupFile(setupObject) setupPathLabelText = "Setup file location: " + str(setupFilePath) self.setupPathLabel.setText(setupPathLabelText) cluz_setup.checkAddPlanningUnit(setupObject) elif setupFilePath == "blank": qgis.utils.iface.messageBar().pushMessage("No CLUZ setup file name", "The CLUZ setup file name has not been set. Please use the Save As... option instead.", QgsMessageBar.WARNING) else: qgis.utils.iface.messageBar().pushMessage("CLUZ setup file name error", "The current CLUZ setup file path is incorrect.", QgsMessageBar.WARNING)
def loadSetupFile(self, setupObject): setupPathLabelText = QFileDialog.getOpenFileName(self, 'Select CLUZ setup file', '*.clz') if setupPathLabelText != "": cluz_setup.updateSetupObjectFromSetupFile(setupObject, setupPathLabelText) cluz_setup.checkStatusObjectValues(setupObject) if setupObject.setupStatus == "values_checked": cluz_setup.createAndCheckCLUZFiles(setupObject) if setupObject.setupStatus == "files_checked": setupObject.setupAction = "blank" setupPathLabelText = os.path.abspath(setupPathLabelText) setupPathLabelText = "Setup file location: " + str(setupPathLabelText) self.setupPathLabel.setText(setupPathLabelText) self.marxanLineEdit.setText(os.path.abspath(setupObject.marxanPath)) self.inputLineEdit.setText(os.path.abspath(setupObject.inputPath)) self.outputLineEdit.setText(setupObject.outputPath) self.puLineEdit.setText(setupObject.puPath) self.targLineEdit.setText(setupObject.targetPath) numberList = [0, 1, 2, 3, 4, 5] precValue = setupObject.decimalPlaces if precValue > 5: qgis.utils.iface.messageBar().pushMessage("Decimal precision value problem", "The number of decimal places specified in the CLUZ setup file cannot be more than 5. The specified value has been changed to 5.", QgsMessageBar.WARNING) precValue = 5 indexValue = numberList.index(precValue) self.precComboBox.setCurrentIndex(indexValue) cluz_setup.checkAddPlanningUnit(setupObject)
def troubleShootCLUZFiles(setupObject): cluz_setup.checkStatusObjectValues(setupObject) targetFileFine, targetFeatIDSet = checkTargetCsvFile(setupObject) puvspr2FileFine, puvspr2PuIDSet, puvspr2FeatIDSet, puvspr2RowNum, puvspr2RecCountDict = checkPuvspr2DatFile(setupObject) sporderFileFine, sporderPuIDSet, sporderFeatIDSet, sporderRowNum, sporderRecCountDict = checkSporderDatFile(setupObject) puFileFine, puPuIDSet = checkPuShapeFile(setupObject) progressMessage = "Comparing the files..." qgis.utils.iface.mainWindow().statusBar().showMessage(progressMessage) idValuesNotDuplicated = True idValuesNotDuplicated = checkIDsMatchInTargetTableAndPuvspr2(targetFeatIDSet, puvspr2FeatIDSet, idValuesNotDuplicated) idValuesNotDuplicated = checkIDsMatchInPULayerAndPuvspr2(puvspr2PuIDSet, puPuIDSet, idValuesNotDuplicated) abundDatFilesSame = True if puvspr2PuIDSet != sporderPuIDSet or puvspr2FeatIDSet != sporderFeatIDSet or puvspr2RowNum != sporderRowNum or puvspr2RecCountDict != sporderRecCountDict: qgis.utils.iface.messageBar().pushMessage("puvspr2.dat and sporder.dat: ", "The two files do not contain the same data. Delete the sporder.dat file in the input folder and CLUZ will create a new one in the correct format.", QgsMessageBar.WARNING) abundDatFilesSame = False if targetFileFine == True and puvspr2FileFine == True and puFileFine == True and idValuesNotDuplicated == True and abundDatFilesSame == True: if setupObject.setupStatus == "files_checked": cluz_setup.makeTargetDict(setupObject) qgis.utils.iface.messageBar().pushMessage("Status: ", "No problems were found and the Target table has been updated to ensure it reflects the current data.", QgsMessageBar.INFO) else: qgis.utils.iface.messageBar().pushMessage("Status: ", "No problems were found.", QgsMessageBar.INFO) progressMessage = "CLUZ Troubleshoot files completed" qgis.utils.iface.mainWindow().statusBar().showMessage(progressMessage)
def saveAsSetupFile(self, setupObject): newSetupFilePath = QFileDialog.getSaveFileName( self, 'Save new CLUZ setup file', '*.clz') if newSetupFilePath != "": setupObject.decimalPlaces = int(self.precComboBox.currentText()) setupObject.marxanPath = self.marxanLineEdit.text() setupObject.inputPath = self.inputLineEdit.text() setupObject.outputPath = self.outputLineEdit.text() setupObject.puPath = self.puLineEdit.text() setupObject.targetPath = self.targLineEdit.text() setupObject.setupPath = newSetupFilePath cluz_setup.checkStatusObjectValues(setupObject) if setupObject.setupStatus == "values_checked": cluz_setup.createAndCheckCLUZFiles(setupObject) if setupObject.setupStatus == "files_checked": cluz_setup.updateClzSetupFile(setupObject) setupPathLabelText = "Setup file location: " + str( newSetupFilePath) self.setupPathLabel.setText(setupPathLabelText) cluz_setup.checkAddPULayer(setupObject) else: qgis.utils.iface.messageBar().pushMessage( "CLUZ setup file name error", "The current CLUZ setup file path is incorrect.", QgsMessageBar.WARNING)
def saveSetupFile(self, setupObject): setupFilePath = setupObject.setupPath if os.path.isfile(setupFilePath): limboSetupObject = copy.deepcopy(setupObject) limboSetupObject.decimalPlaces = int( self.precComboBox.currentText()) limboSetupObject.marxanPath = self.marxanLineEdit.text() limboSetupObject.inputPath = self.inputLineEdit.text() limboSetupObject.outputPath = self.outputLineEdit.text() limboSetupObject.puPath = self.puLineEdit.text() limboSetupObject.targetPath = self.targLineEdit.text() cluz_setup.checkStatusObjectValues(limboSetupObject) if limboSetupObject.setupStatus == "values_checked": cluz_setup.createAndCheckCLUZFiles(limboSetupObject) setupObject = copy.deepcopy(limboSetupObject) if setupObject.setupStatus == "files_checked": cluz_setup.updateClzSetupFile(setupObject) setupPathLabelText = "Setup file location: " + str( setupFilePath) self.setupPathLabel.setText(setupPathLabelText) cluz_setup.checkAddPULayer(setupObject) elif setupFilePath == "blank": qgis.utils.iface.messageBar().pushMessage( "No CLUZ setup file name", "The CLUZ setup file name has not been set. Please use the Save As... option instead.", QgsMessageBar.WARNING) else: qgis.utils.iface.messageBar().pushMessage( "CLUZ setup file name error", "The current CLUZ setup file path is incorrect.", QgsMessageBar.WARNING)
def loadSetupFile(self, setupObject): setupPathLabelText = QFileDialog.getOpenFileName( self, 'Select CLUZ setup file', '*.clz') if setupPathLabelText != "": cluz_setup.updateSetupObjectFromSetupFile(setupObject, setupPathLabelText) cluz_setup.checkStatusObjectValues(setupObject) if setupObject.setupStatus == "values_checked": cluz_setup.createAndCheckCLUZFiles(setupObject) if setupObject.setupStatus == "files_checked": setupObject.setupAction = "blank" setupPathLabelText = os.path.abspath(setupPathLabelText) setupPathLabelText = "Setup file location: " + str( setupPathLabelText) self.setupPathLabel.setText(setupPathLabelText) self.marxanLineEdit.setText( os.path.abspath(setupObject.marxanPath)) self.inputLineEdit.setText( os.path.abspath(setupObject.inputPath)) self.outputLineEdit.setText(setupObject.outputPath) self.puLineEdit.setText(setupObject.puPath) self.targLineEdit.setText(setupObject.targetPath) self.setPrecValue(setupObject.decimalPlaces) cluz_setup.checkAddPULayer(setupObject)
def saveAsSetupFile(self, setupObject): newSetupFilePath = QFileDialog.getSaveFileName(self, 'Save new CLUZ setup file', '*.clz') if newSetupFilePath != "": setupObject.decimalPlaces = int(self.precComboBox.currentText()) setupObject.marxanPath = self.marxanLineEdit.text() setupObject.inputPath = self.inputLineEdit.text() setupObject.outputPath = self.outputLineEdit.text() setupObject.puPath = self.puLineEdit.text() setupObject.targetPath = self.targLineEdit.text() setupObject.setupPath = newSetupFilePath cluz_setup.checkStatusObjectValues(setupObject) if setupObject.setupStatus == "values_checked": cluz_setup.createAndCheckCLUZFiles(setupObject) if setupObject.setupStatus == "files_checked": cluz_setup.updateClzSetupFile(setupObject) setupPathLabelText = "Setup file location: " + str(newSetupFilePath) self.setupPathLabel.setText(setupPathLabelText) cluz_setup.checkAddPlanningUnit(setupObject) else: qgis.utils.iface.messageBar().pushMessage("CLUZ setup file name error", "The current CLUZ setup file path is incorrect.", QgsMessageBar.WARNING)