Skip to content

Commit b390b3e

Browse files
committedJun 20, 2014
[processing] fixed behaviour of select algorithms in modeler
1 parent 2e858c4 commit b390b3e

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed
 

‎python/plugins/processing/algs/qgis/ftools/SelectByLocation.py‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ class SelectByLocation(GeoAlgorithm):
4646

4747

4848
def defineCharacteristics(self):
49-
self.allowOnlyOpenedLayers = True
5049
self.name = 'Select by location'
5150
self.group = 'Vector selection tools'
5251
self.addParameter(ParameterVector(self.INPUT, 'Layer to select from',

‎python/plugins/processing/algs/qgis/mmqgisx/MMQGISXAlgorithms.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,6 @@ class mmqgisx_select_algorithm(GeoAlgorithm):
10591059
RESULT = 'RESULT'
10601060

10611061
def defineCharacteristics(self):
1062-
self.allowOnlyOpenedLayers = True
10631062
self.name = 'Select by attribute'
10641063
self.group = 'Vector selection tools'
10651064

@@ -1087,8 +1086,7 @@ def defineCharacteristics(self):
10871086
def processAlgorithm(self, progress):
10881087

10891088
filename = self.getParameterValue(self.LAYERNAME)
1090-
layer = dataobjects.getObjectFromUri(filename)
1091-
1089+
layer = dataobjects.getObjectFromUri(filename)
10921090
attribute = self.getParameterValue(self.ATTRIBUTE)
10931091
comparison = self.comparisons[self.getParameterValue(self.COMPARISON)]
10941092
comparisonvalue = self.getParameterValue(self.COMPARISONVALUE)

‎python/plugins/processing/tools/dataobjects.py‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@
3636

3737
ALL_TYPES = [-1]
3838

39+
_loadedLayers = {}
40+
41+
def resetLoadedLayers():
42+
global _loadedLayers
43+
_loadedLayers = {}
44+
3945
def getSupportedOutputVectorLayerExtensions():
4046
formats = QgsVectorFileWriter.supportedFiltersAndFormats()
4147
exts = ['shp'] # shp is the default, should be the first
@@ -206,6 +212,9 @@ def getObjectFromUri(uri, forceLoad=True):
206212

207213
if uri is None:
208214
return None
215+
print _loadedLayers
216+
if uri in _loadedLayers:
217+
return _loadedLayers[uri]
209218
layers = getRasterLayers()
210219
for layer in layers:
211220
if layer.source() == uri:
@@ -228,11 +237,13 @@ def getObjectFromUri(uri, forceLoad=True):
228237
if layer.isValid():
229238
if prjSetting:
230239
settings.setValue('/Projections/defaultBehaviour', prjSetting)
240+
_loadedLayers[layer.source()] = layer
231241
return layer
232242
layer = QgsRasterLayer(uri, uri)
233243
if layer.isValid():
234244
if prjSetting:
235245
settings.setValue('/Projections/defaultBehaviour', prjSetting)
246+
_loadedLayers[layer.source()] = layer
236247
return layer
237248
if prjSetting:
238249
settings.setValue('/Projections/defaultBehaviour', prjSetting)

0 commit comments

Comments
 (0)
Please sign in to comment.