def getRasterFiles(path, recursive=False): rasters = [] if not QFileInfo(path).exists(): return rasters # TODO remove *.aux.xml _filter = getRasterExtensions() workDir = QDir(path) workDir.setFilter(QDir.Files | QDir.NoSymLinks | QDir.NoDotAndDotDot) workDir.setNameFilters(_filter) files = workDir.entryList() for f in files: rasters.append(path + "/" + f) if recursive: for myRoot, myDirs, myFiles in os.walk(unicode(path)): for dir in myDirs: workDir = QDir(myRoot + "/" + dir) workDir.setFilter(QDir.Files | QDir.NoSymLinks | QDir.NoDotAndDotDot) workDir.setNameFilters(_filter) workFiles = workDir.entryList() for f in workFiles: rasters.append(myRoot + "/" + dir + "/" + f) return rasters
def batchRun(self): exts = re.sub('\).*$', '', re.sub('^.*\(', '', self.formatCombo.currentText())).split(" ") if len(exts) > 0 and exts[0] != "*" and exts[0] != "*.*": outExt = exts[0].replace("*", "") else: outExt = ".tif" self.base.enableRun(False) self.base.setCursor(Qt.WaitCursor) inDir = self.getInputFileName() outDir = self.getOutputFileName() extensions = Utils.getRasterExtensions() workDir = QDir(inDir) workDir.setFilter(QDir.Files | QDir.NoSymLinks | QDir.NoDotAndDotDot) workDir.setNameFilters(extensions) files = workDir.entryList() self.inFiles = [] self.outFiles = [] for f in files: self.inFiles.append(inDir + "/" + f) if outDir is not None: outFile = re.sub("\.[a-zA-Z0-9]{2,4}", outExt, f) self.outFiles.append(outDir + "/" + outFile) self.errors = [] self.batchIndex = 0 self.batchTotal = len(self.inFiles) self.setProgressRange(self.batchTotal) self.runItem(self.batchIndex, self.batchTotal)
def fillInputDir(self): inputDir = Utils.FileDialog.getExistingDirectory(self, self.tr("Select the input directory with files to Warp")) if not inputDir: return self.inSelector.setFilename(inputDir) filter = Utils.getRasterExtensions() workDir = QDir(inputDir) workDir.setFilter(QDir.Files | QDir.NoSymLinks | QDir.NoDotAndDotDot) workDir.setNameFilters(filter) if len(workDir.entryList()) > 0: fl = inputDir + "/" + workDir.entryList()[0] self.sourceSRSEdit.setText(Utils.getRasterSRS(self, fl))
def fillInputDir(self): inputDir = Utils.FileDialog.getExistingDirectory( self, self.tr("Select the input directory with files to Warp")) if not inputDir: return self.inSelector.setFilename(inputDir) filter = Utils.getRasterExtensions() workDir = QDir(inputDir) workDir.setFilter(QDir.Files | QDir.NoSymLinks | QDir.NoDotAndDotDot) workDir.setNameFilters(filter) if len(workDir.entryList()) > 0: fl = inputDir + "/" + workDir.entryList()[0] self.sourceSRSEdit.setText(Utils.getRasterSRS(self, fl))
def fillInputDir(self): inputDir = Utils.FileDialog.getExistingDirectory(self, self.tr("Select the input directory with files to Translate")) if not inputDir: return self.inSelector.setFilename(inputDir) filter = Utils.getRasterExtensions() workDir = QDir(inputDir) workDir.setFilter(QDir.Files | QDir.NoSymLinks | QDir.NoDotAndDotDot) workDir.setNameFilters(filter) # search for a valid SRS, then use it as default target SRS srs = '' for fname in workDir.entryList(): fl = inputDir + "/" + fname srs = Utils.getRasterSRS(self, fl) if srs: break self.targetSRSEdit.setText(srs)