diff --git a/python/plugins/processing/algs/qgis/PointsToPaths.py b/python/plugins/processing/algs/qgis/PointsToPaths.py index 503a29cb8e9..52f41640641 100644 --- a/python/plugins/processing/algs/qgis/PointsToPaths.py +++ b/python/plugins/processing/algs/qgis/PointsToPaths.py @@ -119,10 +119,7 @@ class PointsToPaths(GeoAlgorithm): f['begin'] = vertices[0][0] f['end'] = vertices[-1][0] - if dirName == '': - fileName = system.getTempFilenameInTempFolder('%s.txt' % group) - else: - fileName = os.path.join(dirName, '%s.txt' % group) + fileName = os.path.join(dirName, '%s.txt' % group) fl = open(fileName, 'w') fl.write('angle=Azimuth\n') diff --git a/python/plugins/processing/outputs/OutputDirectory.py b/python/plugins/processing/outputs/OutputDirectory.py index 475a6b5e3ba..cf4c4562d01 100644 --- a/python/plugins/processing/outputs/OutputDirectory.py +++ b/python/plugins/processing/outputs/OutputDirectory.py @@ -29,4 +29,4 @@ from processing.outputs.Output import Output class OutputDirectory(Output): - pass + directory = True diff --git a/python/plugins/processing/tools/system.py b/python/plugins/processing/tools/system.py index e7012b5ad0b..0d0e55253a7 100644 --- a/python/plugins/processing/tools/system.py +++ b/python/plugins/processing/tools/system.py @@ -29,7 +29,9 @@ import os import time import sys import uuid + from PyQt4.QtCore import * + from qgis.core import * numExported = 1 @@ -61,8 +63,11 @@ def tempFolder(): def setTempOutput(out, alg): - ext = out.getDefaultFileExtension(alg) - out.value = getTempFilenameInTempFolder(out.name + '.' + ext) + if hasattr(out, 'directory'): + out.value = getTempDirInTempFolder() + else: + ext = out.getDefaultFileExtension(alg) + out.value = getTempFilenameInTempFolder(out.name + '.' + ext) def getTempFilename(ext): @@ -89,6 +94,16 @@ def getTempFilenameInTempFolder(basename): return filename +def getTempDirInTempFolder(): + """Returns a temporary directory, putting it into a temp folder. + """ + + path = tempFolder() + path = os.path.join(path, str(uuid.uuid4()).replace('-', '')) + mkdir(path) + return path + + def removeInvalidChars(string): validChars = \ 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:.'