@@ -206,7 +206,7 @@ def processAlgorithm(self, progress):
206
206
filename = LayerExporter .exportVectorLayer (layer )
207
207
self .exportedLayers [param .value ]= filename
208
208
elif not param .value .endswith ("shp" ):
209
- raise GeoAlgorithmExecutionException ("Unsupported file format" )
209
+ raise GeoAlgorithmExecutionException ("Unsupported file format" )
210
210
if isinstance (param , ParameterTable ):
211
211
if param .value == None :
212
212
continue
@@ -378,14 +378,25 @@ def resampleRasterLayer(self,layer):
378
378
return s
379
379
380
380
381
- def exportRasterLayer (self , layer ):
382
- destFilename = ProcessingUtils .getTempFilenameInTempFolder (os .path .basename (layer )[0 :5 ] + ".sgrd" )
383
- self .exportedLayers [layer ]= destFilename
381
+ def exportRasterLayer (self , source ):
382
+ layer = QGisLayers .getObjectFromUri (source , False )
383
+ if layer :
384
+ filename = str (layer .name ())
385
+ else :
386
+ filename = source .rstrip (".sgrd" )
387
+ validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:"
388
+ filename = '' .join (c for c in filename if c in validChars )
389
+ if len (filename ) == 0 :
390
+ filename = "layer"
391
+ destFilename = ProcessingUtils .getTempFilenameInTempFolder (filename + ".sgrd" )
392
+ self .exportedLayers [source ]= destFilename
384
393
saga208 = ProcessingConfig .getSetting (SagaUtils .SAGA_208 )
385
394
if ProcessingUtils .isWindows () or ProcessingUtils .isMac () or not saga208 :
386
- return "io_gdal 0 -GRIDS \" " + destFilename + "\" -FILES \" " + layer + "\" "
395
+ return "io_gdal 0 -GRIDS \" " + destFilename + "\" -FILES \" " + source + "\" "
387
396
else :
388
- return "libio_gdal 0 -GRIDS \" " + destFilename + "\" -FILES \" " + layer + "\" "
397
+ return "libio_gdal 0 -GRIDS \" " + destFilename + "\" -FILES \" " + source + "\" "
398
+
399
+
389
400
390
401
391
402
def checkBeforeOpeningParametersDialog (self ):
0 commit comments