def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.grassName = line line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.group = line while line != "": try: line = line.strip("\n").strip() if line.startswith("Parameter"): self.addParameter(ParameterFactory.getFromString(line)) elif line.startswith("*Parameter"): param = ParameterFactory.getFromString(line[1:]) param.isAdvanced = True self.addParameter(param) else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() except Exception, e: SextanteLog.addToLog( SextanteLog.LOG_ERROR, "Could not open GRASS algorithm: " + self.descriptionFile + "\n" + line) raise e
def defineCharacteristicsFromFile(self): self.hardcodedStrings = [] lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.name = line if "|" in self.name: tokens = self.name.split("|") self.name = tokens[0] self.cmdname = tokens[1] else: self.cmdname = self.name self.name = self.name[0].upper() + self.name[1:].lower() line = lines.readline().strip("\n").strip() self.undecoratedGroup = line self.group = SagaGroupNameDecorator.getDecoratedName( self.undecoratedGroup) while line != "": line = line.strip("\n").strip() if line.startswith("Hardcoded"): self.hardcodedStrings.append(line[len("Harcoded|") + 1:]) elif line.startswith("Parameter"): self.addParameter(ParameterFactory.getFromString(line)) elif line.startswith("DontResample"): self.resample = False elif line.startswith( "Extent" ): #An extent parameter that wraps 4 SAGA numerical parameters self.extentParamNames = line[6:].strip().split(" ") self.addParameter( ParameterExtent(self.OUTPUT_EXTENT, "Output extent", "0,1,0,1")) else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() lines.close()
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.grassName = line line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.group = line hasRasterOutput = False hasVectorOutput = False while line != "": try: line = line.strip("\n").strip() if line.startswith("Parameter"): parameter = ParameterFactory.getFromString(line); self.addParameter(parameter) if isinstance(parameter, ParameterVector): hasVectorOutput = True if isinstance(parameter, ParameterMultipleInput) and parameter.datatype < 3: hasVectorOutput = True elif line.startswith("*Parameter"): param = ParameterFactory.getFromString(line[1:]) param.isAdvanced = True self.addParameter(param) else: output = OutputFactory.getFromString(line) self.addOutput(output); if isinstance(output, OutputRaster): hasRasterOutput = True line = lines.readline().strip("\n").strip() except Exception,e: SextanteLog.addToLog(SextanteLog.LOG_ERROR, "Could not open GRASS algorithm: " + self.descriptionFile + "\n" + line) raise e
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.name = line if "|" in self.name: tokens = self.name.split("|") self.name = tokens[0] self.cmdname = tokens[1] else: self.cmdname = self.name line = lines.readline().strip("\n").strip() self.undecoratedGroup = line self.group = SagaGroupNameDecorator.getDecoratedName(self.undecoratedGroup) while line != "": line = line.strip("\n").strip() if line.startswith("Parameter"): self.addParameter(ParameterFactory.getFromString(line)) elif line.startswith("DontResample"): self.resample = False elif line.startswith("Extent"): #An extent parameter that wraps 4 SAGA numerical parameters self.extentParamNames = line[6:].strip().split(" ") self.addParameter(ParameterExtent(self.OUTPUT_EXTENT, "Output extent", "0,1,0,1")) else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() lines.close()
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.undecoratedGroup = line self.group = SagaGroupNameDecorator.getDecoratedName( self.undecoratedGroup) while line != "": line = line.strip("\n").strip() if line.startswith("Parameter"): self.addParameter(ParameterFactory.getFromString(line)) elif line.startswith("DontResample"): self.resample = False elif line.startswith( "Extent" ): #An extent parameter that wraps 4 SAGA numerical parameters self.extentParamNames = line[6:].strip().split(" ") self.addParameter( ParameterExtent(self.OUTPUT_EXTENT, "Output extent", "0,1,0,1")) else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() lines.close()
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.appkey = line line = lines.readline().strip("\n").strip() self.cliName = line line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.group = line while line != "": try: line = line.strip("\n").strip() if line.startswith("Parameter"): param = ParameterFactory.getFromString(line) # Hack for initializing the elevation parameters from Sextante configuration if param.name == "-elev.dem.path": param.default = OTBUtils.otbSRTMPath() if param.name == "-elev.dem.geoid": param.default = OTBUtils.otbGeoidPath() self.addParameter(param) elif line.startswith("Extent"): self.addParameter(ParameterExtent(self.REGION_OF_INTEREST, "Region of interest", "0,1,0,1")) self.hasROI = True else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() except Exception,e: SextanteLog.addToLog(SextanteLog.LOG_ERROR, "Could not open OTB algorithm: " + self.descriptionFile + "\n" + line) raise e
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.appkey = line line = lines.readline().strip("\n").strip() self.cliName = line line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.group = line while line != "": try: line = line.strip("\n").strip() if line.startswith("Parameter"): param = ParameterFactory.getFromString(line) # Hack for initializing the elevation parameters from Sextante configuration if param.name == "-elev.dem.path": param.default = OTBUtils.otbSRTMPath() if param.name == "-elev.dem.geoid": param.default = OTBUtils.otbGeoidPath() self.addParameter(param) elif line.startswith("Extent"): self.addParameter( ParameterExtent(self.REGION_OF_INTEREST, "Region of interest", "0,1,0,1")) self.hasROI = True else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() except Exception, e: SextanteLog.addToLog( SextanteLog.LOG_ERROR, "Could not open OTB algorithm: " + self.descriptionFile + "\n" + line) raise e
def processDescriptionParameterLine(self, line): try: if line.startswith("Parameter"): self.addParameter(ParameterFactory.getFromString(line)) elif line.startswith("*Parameter"): param = ParameterFactory.getFromString(line[1:]) param.isAdvanced = True self.addParameter(param) else: self.addOutput(OutputFactory.getFromString(line)) except Exception: raise WrongScriptException("Could not load script:" + self.descriptionFile + ".\n Problem with line \"" + line + "\"")
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.cmdName = line line = lines.readline().strip("\n").strip() self.group = line while line != "": try: line = line.strip("\n").strip() if line.startswith("Parameter"): param = ParameterFactory.getFromString(line) self.addParameter(param) else: self.addOutput(OutputFactory.getFromString(line)) line = lines.readline().strip("\n").strip() except Exception, e: SextanteLog.addToLog(SextanteLog.LOG_ERROR, "Could not load TauDEM algorithm: " + self.descriptionFile + "\n" + line) raise e
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip("\n").strip() self.grassName = line line = lines.readline().strip("\n").strip() self.name = line line = lines.readline().strip("\n").strip() self.group = line hasRasterOutput = False hasVectorInput = False vectorOutputs = 0 while line != "": try: line = line.strip("\n").strip() if line.startswith("Parameter"): parameter = ParameterFactory.getFromString(line) self.addParameter(parameter) if isinstance(parameter, ParameterVector): hasVectorInput = True if isinstance( parameter, ParameterMultipleInput) and parameter.datatype < 3: hasVectorInput = True elif line.startswith("*Parameter"): param = ParameterFactory.getFromString(line[1:]) param.isAdvanced = True self.addParameter(param) else: output = OutputFactory.getFromString(line) self.addOutput(output) if isinstance(output, OutputRaster): hasRasterOutput = True elif isinstance(output, OutputVector): vectorOutputs += 1 line = lines.readline().strip("\n").strip() except Exception, e: SextanteLog.addToLog( SextanteLog.LOG_ERROR, "Could not open GRASS algorithm: " + self.descriptionFile + "\n" + line) raise e