Skip to content

Commit 1882bbc

Browse files
committed
[processing]fixed issue with temporal filename
(was previously solved but reverted)
1 parent 4987f4a commit 1882bbc

File tree

3 files changed

+30
-24
lines changed

3 files changed

+30
-24
lines changed

python/plugins/processing/tools/dataobjects.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,29 @@ def getTables():
9595
tables.append(layer)
9696
return tables
9797

98+
def extent(layers):
99+
first = True
100+
for layer in layers:
101+
if not isinstance(layer, (QgsRasterLayer, QgsVectorLayer)):
102+
layer = getObjectFromUri(layer)
103+
if layer is None:
104+
continue
105+
if first:
106+
xmin = layer.extent().xMinimum()
107+
xmax = layer.extent().xMaximum()
108+
ymin = layer.extent().yMinimum()
109+
ymax = layer.extent().yMaximum()
110+
else:
111+
xmin = min(xmin, layer.extent().xMinimum())
112+
xmax = max(xmax, layer.extent().xMaximum())
113+
ymin = min(ymin, layer.extent().yMinimum())
114+
ymax = max(ymax, layer.extent().yMaximum())
115+
first = False
116+
if first:
117+
return "0,0,0,0"
118+
else:
119+
return str(xmin) + "," + str(xmax) + "," + str(ymin) + "," + str(ymax)
120+
98121

99122
def loadList(layers):
100123
for layer in layers:

python/plugins/processing/tools/general.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
__revision__ = '$Format:%H$'
2626

2727
from qgis.core import *
28-
from processing.tools import dataobjects
2928
from processing.core.Processing import Processing
3029
from processing.parameters.ParameterSelection import ParameterSelection
3130
from processing.gui.Postprocessing import Postprocessing
@@ -70,28 +69,5 @@ def runalg(algOrName, *args):
7069
def runandload(name, *args):
7170
return Processing.runAlgorithm(name, Postprocessing.handleAlgorithmResults, *args)
7271

73-
def extent(layers):
74-
first = True
75-
for layer in layers:
76-
if not isinstance(layer, (QgsRasterLayer, QgsVectorLayer)):
77-
layer = dataobjects.getObjectFromUri(layer)
78-
if layer is None:
79-
continue
80-
if first:
81-
xmin = layer.extent().xMinimum()
82-
xmax = layer.extent().xMaximum()
83-
ymin = layer.extent().yMinimum()
84-
ymax = layer.extent().yMaximum()
85-
else:
86-
xmin = min(xmin, layer.extent().xMinimum())
87-
xmax = max(xmax, layer.extent().xMaximum())
88-
ymin = min(ymin, layer.extent().yMinimum())
89-
ymax = max(ymax, layer.extent().yMaximum())
90-
first = False
91-
if first:
92-
return "0,0,0,0"
93-
else:
94-
return str(xmin) + "," + str(xmax) + "," + str(ymin) + "," + str(ymax)
95-
9672

9773

python/plugins/processing/tools/system.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,16 @@ def getTempFilenameInTempFolder(basename):
6868
path = tempFolder()
6969
path = os.path.join(path, str(uuid.uuid4()).replace("-",""))
7070
mkdir(path)
71+
basename = removeInvalidChars(basename)
7172
filename = os.path.join(path, basename)
7273
return filename
7374

75+
def removeInvalidChars(string):
76+
validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:"
77+
string = ''.join(c for c in string if c in validChars)
78+
return string
79+
80+
7481
NUM_EXPORTED = 1
7582

7683
def getNumExportedLayers():

0 commit comments

Comments
 (0)