Skip to content

Commit e01b7ef

Browse files
committed
[processing] take in account file extension when loading Processing
results (fix #16486)
1 parent 3f9c4e5 commit e01b7ef

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

python/plugins/processing/tools/dataobjects.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -115,20 +115,9 @@ def load(fileName, name=None, crs=None, style=None):
115115
settings.setValue('/Projections/defaultBehavior', '')
116116
if name is None:
117117
name = os.path.split(fileName)[1]
118-
qgslayer = QgsVectorLayer(fileName, name, 'ogr')
119-
if qgslayer.isValid():
120-
if crs is not None and qgslayer.crs() is None:
121-
qgslayer.setCrs(crs, False)
122-
if style is None:
123-
if qgslayer.geometryType() == QgsWkbTypes.PointGeometry:
124-
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POINT_STYLE)
125-
elif qgslayer.geometryType() == QgsWkbTypes.LineGeometry:
126-
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_LINE_STYLE)
127-
else:
128-
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POLYGON_STYLE)
129-
qgslayer.loadNamedStyle(style)
130-
QgsProject.instance().addMapLayers([qgslayer])
131-
else:
118+
119+
suffix = os.path.splitext(fileName)[1][1:]
120+
if suffix in getSupportedOutputRasterLayerExtensions():
132121
qgslayer = QgsRasterLayer(fileName, name)
133122
if qgslayer.isValid():
134123
if crs is not None and qgslayer.crs() is None:
@@ -142,6 +131,21 @@ def load(fileName, name=None, crs=None, style=None):
142131
settings.setValue('/Projections/defaultBehavior', prjSetting)
143132
raise RuntimeError('Could not load layer: ' + str(fileName) +
144133
'\nCheck the processing framework log to look for errors')
134+
else:
135+
qgslayer = QgsVectorLayer(fileName, name, 'ogr')
136+
if qgslayer.isValid():
137+
if crs is not None and qgslayer.crs() is None:
138+
qgslayer.setCrs(crs, False)
139+
if style is None:
140+
if qgslayer.geometryType() == QgsWkbTypes.PointGeometry:
141+
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POINT_STYLE)
142+
elif qgslayer.geometryType() == QgsWkbTypes.LineGeometry:
143+
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_LINE_STYLE)
144+
else:
145+
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POLYGON_STYLE)
146+
qgslayer.loadNamedStyle(style)
147+
QgsProject.instance().addMapLayers([qgslayer])
148+
145149
if prjSetting:
146150
settings.setValue('/Projections/defaultBehavior', prjSetting)
147151

0 commit comments

Comments
 (0)