Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[processing] explisitly load outputs as raster or vector depending
on the output type. Don't rely on extension or other indirect attributes
- Loading branch information
|
@@ -71,9 +71,11 @@ def handleAlgorithmResults(alg, context, feedback=None, showResults=True): |
|
|
name = os.path.basename(out.value) |
|
|
else: |
|
|
name = out.description |
|
|
|
|
|
isRaster = True if isinstance(out, OutputRaster) else False |
|
|
dataobjects.load(out.value, name, alg.crs, |
|
|
RenderingStyles.getStyle(alg.id(), |
|
|
out.name)) |
|
|
RenderingStyles.getStyle(alg.id(), out.name), |
|
|
isRaster) |
|
|
except Exception: |
|
|
QgsMessageLog.logMessage("Error loading result layer:\n" + traceback.format_exc(), 'Processing', QgsMessageLog.CRITICAL) |
|
|
wrongLayers.append(out.description) |
|
|
|
@@ -102,7 +102,7 @@ def getSupportedOutputRasterLayerExtensions(): |
|
|
return allexts |
|
|
|
|
|
|
|
|
def load(fileName, name=None, crs=None, style=None): |
|
|
def load(fileName, name=None, crs=None, style=None, isRaster=False): |
|
|
"""Loads a layer/table into the current project, given its file. |
|
|
""" |
|
|
|
|
@@ -116,8 +116,7 @@ def load(fileName, name=None, crs=None, style=None): |
|
|
if name is None: |
|
|
name = os.path.split(fileName)[1] |
|
|
|
|
|
suffix = os.path.splitext(fileName)[1][1:] |
|
|
if suffix in getSupportedOutputRasterLayerExtensions(): |
|
|
if isRaster: |
|
|
qgslayer = QgsRasterLayer(fileName, name) |
|
|
if qgslayer.isValid(): |
|
|
if crs is not None and qgslayer.crs() is None: |
|
|