def _loadAlgorithms(self): folder = RUtils.RScriptsFolder() for descriptionFile in os.listdir(folder): if descriptionFile.endswith("rsx"): try: fullpath = os.path.join(RUtils.RScriptsFolder(), descriptionFile) alg = RAlgorithm(fullpath) if alg.name.strip() != "": self.algs.append(alg) except WrongScriptException,e: SextanteLog.addToLog(SextanteLog.LOG_ERROR,e.msg) except Exception, e: SextanteLog.addToLog(SextanteLog.LOG_ERROR,"Could not load R script:" + descriptionFile)
def saveAlgorithm(self): if self.filename is None: self.filename = str( QtGui.QFileDialog.getSaveFileName(self, "Save Script", RUtils.RScriptsFolder(), "SEXTANTE R script (*.rsx)")) if self.filename: if not self.filename.endswith(".rsx"): self.filename += ".rsx" text = str(self.text.toPlainText()) if self.alg is not None: self.alg.script = text try: fout = open(self.filename, "w") fout.write(text) fout.close() except IOError: QMessageBox.warning( self, self.tr("I/O error"), self.tr("Unable to save edits. Reason:\n %1").arg( unicode(sys.exc_info()[1]))) return self.update = True #if help strings were defined before saving the model for the first time, we do it here if self.help: f = open(self.filename + ".help", "wb") pickle.dump(self.help, f) f.close() self.help = None QtGui.QMessageBox.information(self, "Script saving", "Script was correctly saved.") else: self.filename = None
def initializeSettings(self): AlgorithmProvider.initializeSettings(self) SextanteConfig.addSetting( Setting(self.getDescription(), RUtils.RSCRIPTS_FOLDER, "R Scripts folder", RUtils.RScriptsFolder())) if SextanteUtils.isWindows(): SextanteConfig.addSetting( Setting(self.getDescription(), RUtils.R_FOLDER, "R folder", RUtils.RFolder()))
def saveAlgorithm(self): if self.filename is None: self.filename = QtGui.QFileDialog.getSaveFileName( self, "Save Script", RUtils.RScriptsFolder(), "SEXTANTE R script (*.rsx)") if self.filename: text = str(self.text.toPlainText()) if self.alg is not None: self.alg.script = text fout = open(self.filename, "w") fout.write(text) fout.close() self.update = True #if help strings were defined before saving the model for the first time, we do it here if self.help: f = open(self.filename + ".help", "wb") pickle.dump(self.help, f) f.close() self.help = None QtGui.QMessageBox.information(self, "Script saving", "Script was correctly saved.") else: self.filename = None
def _loadAlgorithms(self): folder = RUtils.RScriptsFolder() self.loadFromFolder(folder) folder = os.path.join(os.path.dirname(__file__), "scripts") self.loadFromFolder(folder)