diff --git a/python/plugins/processing/algs/saga/SagaAlgorithm212.py b/python/plugins/processing/algs/saga/SagaAlgorithm212.py index a71d3748d03..a29f3b5d83c 100644 --- a/python/plugins/processing/algs/saga/SagaAlgorithm212.py +++ b/python/plugins/processing/algs/saga/SagaAlgorithm212.py @@ -304,8 +304,12 @@ class SagaAlgorithm212(GeoAlgorithm): def exportRasterLayer(self, source): global sessionExportedLayers if source in sessionExportedLayers: - self.exportedLayers[source] = sessionExportedLayers[source] - return None + exportedLayer = sessionExportedLayers[source] + if os.path.exists(exportedLayer): + self.exportedLayers[source] = exportedLayer + return None + else: + del sessionExportedLayers[source] layer = dataobjects.getObjectFromUri(source, False) if layer: filename = str(layer.name()) diff --git a/python/plugins/processing/algs/saga/SagaAlgorithm213.py b/python/plugins/processing/algs/saga/SagaAlgorithm213.py index abd65682d70..41b28efdec0 100644 --- a/python/plugins/processing/algs/saga/SagaAlgorithm213.py +++ b/python/plugins/processing/algs/saga/SagaAlgorithm213.py @@ -42,7 +42,6 @@ from processing.tools.system import * sessionExportedLayers = {} - class SagaAlgorithm213(SagaAlgorithm212): OUTPUT_EXTENT = 'OUTPUT_EXTENT' @@ -225,11 +224,15 @@ class SagaAlgorithm213(SagaAlgorithm212): def exportRasterLayer(self, source): global sessionExportedLayers if source in sessionExportedLayers: - self.exportedLayers[source] = sessionExportedLayers[source] - return None + exportedLayer = sessionExportedLayers[source] + if os.path.exists(exportedLayer): + self.exportedLayers[source] = exportedLayer + return None + else: + del sessionExportedLayers[source] layer = dataobjects.getObjectFromUri(source, False) if layer: - filename = str(layer.name()) + filename = layer.name() else: filename = os.path.basename(source) validChars = \ diff --git a/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py b/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py index 89f60e4ca07..89c9dae8651 100644 --- a/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py +++ b/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py @@ -102,7 +102,8 @@ class SagaAlgorithmProvider(AlgorithmProvider): ProcessingLog.addToLog(ProcessingLog.LOG_ERROR, self.tr('Could not open SAGA algorithm: %s\n%s' % (descriptionFile, str(e)))) def getDescription(self): - return 'SAGA (%s)' % SagaUtils.getSagaInstalledVersion() + version = SagaUtils.getSagaInstalledVersion() + return 'SAGA (%s)' % version if version is not None else 'SAGA' def getName(self): return 'saga' diff --git a/python/plugins/processing/algs/saga/SagaUtils.py b/python/plugins/processing/algs/saga/SagaUtils.py index 16aadb16664..9ee450c9a20 100644 --- a/python/plugins/processing/algs/saga/SagaUtils.py +++ b/python/plugins/processing/algs/saga/SagaUtils.py @@ -27,7 +27,6 @@ __revision__ = '$Format:%H$' import os import stat -import traceback import subprocess from PyQt4.QtCore import * from qgis.core import *