Пример #1
0
 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)
Пример #2
0
    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
Пример #3
0
 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()))
Пример #4
0
    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
Пример #5
0
 def _loadAlgorithms(self):
     folder = RUtils.RScriptsFolder()
     self.loadFromFolder(folder)
     folder = os.path.join(os.path.dirname(__file__), "scripts")
     self.loadFromFolder(folder)