[processing] Select by expression/attribute can run on geometryless layers

This commit is contained in:
Nyall Dawson 2018-02-20 08:34:02 +10:00
parent da7ccf7d1f
commit c07f37a5cb
2 changed files with 4 additions and 2 deletions

View File

@ -27,6 +27,7 @@ __revision__ = '$Format:%H$'
from qgis.PyQt.QtCore import QVariant
from qgis.core import (QgsExpression,
QgsProcessing,
QgsProcessingException,
QgsProcessingAlgorithm,
QgsProcessingParameterVectorLayer,
@ -89,7 +90,7 @@ class SelectByAttribute(QgisAlgorithm):
self.tr('does not contain')
]
self.addParameter(QgsProcessingParameterVectorLayer(self.INPUT, self.tr('Input layer')))
self.addParameter(QgsProcessingParameterVectorLayer(self.INPUT, self.tr('Input layer'), types=[QgsProcessing.TypeVector]))
self.addParameter(QgsProcessingParameterField(self.FIELD,
self.tr('Selection attribute'), parentLayerParameterName=self.INPUT))

View File

@ -25,6 +25,7 @@ __copyright__ = '(C) 2014, Michael Douchin'
__revision__ = '$Format:%H$'
from qgis.core import (QgsExpression,
QgsProcessing,
QgsVectorLayer,
QgsProcessingAlgorithm,
QgsProcessingException,
@ -60,7 +61,7 @@ class SelectByExpression(QgisAlgorithm):
self.tr('removing from current selection'),
self.tr('selecting within current selection')]
self.addParameter(QgsProcessingParameterVectorLayer(self.INPUT, self.tr('Input layer')))
self.addParameter(QgsProcessingParameterVectorLayer(self.INPUT, self.tr('Input layer'), types=[QgsProcessing.TypeVector]))
self.addParameter(QgsProcessingParameterExpression(self.EXPRESSION,
self.tr('Expression'), parentLayerParameterName=self.INPUT))