@@ -117,32 +117,35 @@ def processAlgorithm(self, progress):
117117 inFeat = QgsFeature ()
118118 outFeat = QgsFeature ()
119119 features = vector .features (layer )
120- total = 100.0 / len (features )
121- for current , inFeat in enumerate (features ):
122- rownum = current + 1
123-
124- geometry = inFeat .geometry ()
125- if geometry is not None :
126- outFeat .setGeometry (geometry )
127-
128- attrs = []
129- for i in xrange (0 , len (mapping )):
130- field_def = mapping [i ]
131- expression = expressions [i ]
132- exp_context .setFeature (inFeat )
133- exp_context .lastScope ().setVariable ("row_number" , rownum )
134- value = expression .evaluate (exp_context )
135- if expression .hasEvalError ():
136- calculationSuccess = False
137- error = expression .evalErrorString ()
138- break
139-
140- attrs .append (value )
141- outFeat .setAttributes (attrs )
142-
143- writer .addFeature (outFeat )
144-
145- progress .setPercentage (int (current * total ))
120+ if len (features ):
121+ total = 100.0 / len (features )
122+ for current , inFeat in enumerate (features ):
123+ rownum = current + 1
124+
125+ geometry = inFeat .geometry ()
126+ if geometry is not None :
127+ outFeat .setGeometry (geometry )
128+
129+ attrs = []
130+ for i in xrange (0 , len (mapping )):
131+ field_def = mapping [i ]
132+ expression = expressions [i ]
133+ exp_context .setFeature (inFeat )
134+ exp_context .lastScope ().setVariable ("row_number" , rownum )
135+ value = expression .evaluate (exp_context )
136+ if expression .hasEvalError ():
137+ calculationSuccess = False
138+ error = expression .evalErrorString ()
139+ break
140+
141+ attrs .append (value )
142+ outFeat .setAttributes (attrs )
143+
144+ writer .addFeature (outFeat )
145+
146+ progress .setPercentage (int (current * total ))
147+ else :
148+ progress .setPercentage (100 )
146149
147150 del writer
148151
0 commit comments