From a968fa3dea1222231f44e8ec5149c95318dc5fe0 Mon Sep 17 00:00:00 2001 From: volaya Date: Mon, 19 Sep 2016 09:11:43 +0200 Subject: [PATCH] [processing] use original filename when possible when exporting vector layer Conflicts: python/plugins/processing/tools/dataobjects.py --- python/plugins/processing/tools/dataobjects.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/python/plugins/processing/tools/dataobjects.py b/python/plugins/processing/tools/dataobjects.py index 82e5dafeb7d..2f66677302d 100644 --- a/python/plugins/processing/tools/dataobjects.py +++ b/python/plugins/processing/tools/dataobjects.py @@ -47,6 +47,7 @@ from processing.core.ProcessingConfig import ProcessingConfig from processing.algs.gdal.GdalUtils import GdalUtils from processing.tools.system import (getTempFilenameInTempFolder, getTempFilename, + removeInvalidChars isWindows) ALL_TYPES = [-1] @@ -311,6 +312,13 @@ def exportVectorLayer(layer, supported=None): systemEncoding = settings.value('/UI/encoding', 'System') output = getTempFilename('shp') + basename = removeInvalidChars(os.path.basename(layer.source())) + if basename: + if not basename.endswith("shp"): + basename = basename + ".shp" + output = getTempFilenameInTempFolder(basename) + else: + output = getTempFilename("shp") provider = layer.dataProvider() useSelection = ProcessingConfig.getSetting(ProcessingConfig.USE_SELECTED) if useSelection and layer.selectedFeatureCount() != 0: