Skip to content

Commit a811036

Browse files
committedFeb 15, 2018
[processing] Don't throw an exception if an expression cannot
be prepared There's cases where this happens without reflecting an invalid expression. So we can try to prepare, but not abort if the preparation fails. Fixes #18103
1 parent e0b1d37 commit a811036

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed
 

‎python/plugins/processing/algs/qgis/FieldsCalculator.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,7 @@ def processAlgorithm(self, parameters, context, feedback):
123123
if layer is not None:
124124
exp_context.appendScope(QgsExpressionContextUtils.layerScope(layer))
125125

126-
if not expression.prepare(exp_context):
127-
raise QgsProcessingException(
128-
self.tr('Evaluation error: {0}').format(expression.parserErrorString()))
126+
expression.prepare(exp_context)
129127

130128
features = source.getFeatures()
131129
total = 100.0 / source.featureCount() if source.featureCount() else 0

‎python/plugins/processing/algs/qgis/RandomPointsPolygons.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,7 @@ def processAlgorithm(self, parameters, context, feedback):
116116
raise QgsProcessingException(expression.parserErrorString())
117117

118118
expressionContext = self.createExpressionContext(parameters, context, source)
119-
if not expression.prepare(expressionContext):
120-
raise QgsProcessingException(
121-
self.tr('Evaluation error: {0}').format(expression.evalErrorString()))
119+
expression.prepare(expressionContext)
122120

123121
fields = QgsFields()
124122
fields.append(QgsField('id', QVariant.Int, '', 10, 0))

0 commit comments

Comments
 (0)
Please sign in to comment.