Skip to content

Commit 3d3b6ec

Browse files
committedMay 12, 2017
[processing] take in account file extension when loading Processing
results (fix #16486)
1 parent aa0ce1c commit 3d3b6ec

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
@@ -169,20 +169,9 @@ def load(fileName, name=None, crs=None, style=None):
169169
settings.setValue('/Projections/defaultBehaviour', '')
170170
if name is None:
171171
name = os.path.split(fileName)[1]
172-
qgslayer = QgsVectorLayer(fileName, name, 'ogr')
173-
if qgslayer.isValid():
174-
if crs is not None and qgslayer.crs() is None:
175-
qgslayer.setCrs(crs, False)
176-
if style is None:
177-
if qgslayer.geometryType() == QGis.Point:
178-
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POINT_STYLE)
179-
elif qgslayer.geometryType() == QGis.Line:
180-
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_LINE_STYLE)
181-
else:
182-
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POLYGON_STYLE)
183-
qgslayer.loadNamedStyle(style)
184-
QgsMapLayerRegistry.instance().addMapLayers([qgslayer])
185-
else:
172+
173+
suffix = os.path.splitext(fileName)[1][1:]
174+
if suffix in getSupportedOutputRasterLayerExtensions():
186175
qgslayer = QgsRasterLayer(fileName, name)
187176
if qgslayer.isValid():
188177
if crs is not None and qgslayer.crs() is None:
@@ -197,6 +186,21 @@ def load(fileName, name=None, crs=None, style=None):
197186
settings.setValue('/Projections/defaultBehaviour', prjSetting)
198187
raise RuntimeError('Could not load layer: ' + unicode(fileName)
199188
+ '\nCheck the processing framework log to look for errors')
189+
else:
190+
qgslayer = QgsVectorLayer(fileName, name, 'ogr')
191+
if qgslayer.isValid():
192+
if crs is not None and qgslayer.crs() is None:
193+
qgslayer.setCrs(crs, False)
194+
if style is None:
195+
if qgslayer.geometryType() == QGis.Point:
196+
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POINT_STYLE)
197+
elif qgslayer.geometryType() == QGis.Line:
198+
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_LINE_STYLE)
199+
else:
200+
style = ProcessingConfig.getSetting(ProcessingConfig.VECTOR_POLYGON_STYLE)
201+
qgslayer.loadNamedStyle(style)
202+
QgsMapLayerRegistry.instance().addMapLayers([qgslayer])
203+
200204
if prjSetting:
201205
settings.setValue('/Projections/defaultBehaviour', prjSetting)
202206

0 commit comments

Comments
 (0)
Please sign in to comment.