Bug report #13830
Invalid scripts from models with advancedpythonfieldcalculator
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | Victor Olaya | ||
Category: | Processing/Modeller | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 21854 |
Description
I've been testing the export model to script functionality. One models contains an Advanced Python Field Calculator.
The linebreaks in the Advanced Python Field Calculator python code cause the algorithm to fail.
2015-11-15T11:26:20 2 Uncaught error while executing algorithm Traceback (most recent call last): File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\\processing\\core\\GeoAlgorithm.py", line 230, in execute self.processAlgorithm(progress) File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\\processing\\script\\ScriptAlgorithm.py", line 298, in processAlgorithm exec((script), ns) File "<string>", line 8 outputs_QGISADVANCEDPYTHONFIELDCALCULATOR_1=processing.runalg('qgis:advancedpythonfieldcalculator', outputs_GRASSV.SPLIT.VERT_1['output'],'azimuth',0,3.0,0.0,None,'p1 = $geom.asPolyline()[0] ^ SyntaxError: EOL while scanning string literal
Here's the script that is generated:
##Tanaka Contours=name ##RASTERLAYER_DEM=raster ##NUMBER_ELEVATIONINTERVALS=number 10 ##tanakacontours=output vector outputs_GDALOGRCONTOUR_1=processing.runalg('gdalogr:contour', RASTERLAYER_DEM,NUMBER_ELEVATIONINTERVALS,'ELEV',None,None) outputs_GRASSV.SPLIT.VERT_1=processing.runalg('grass:v.split.vert', outputs_GDALOGRCONTOUR_1['OUTPUT_VECTOR'],2.0,None,-1.0,0.0001,0,None) outputs_QGISADVANCEDPYTHONFIELDCALCULATOR_1=processing.runalg('qgis:advancedpythonfieldcalculator', outputs_GRASSV.SPLIT.VERT_1['output'],'azimuth',0,3.0,0.0,None,'p1 = $geom.asPolyline()[0] p2 = $geom.asPolyline()[-1] a = p1.azimuth(p2) if a < 0: a += 360 value = a',tanakacontours)
Associated revisions
[processing] correctly export multiline strings as python parameters from modeler
fixes #13830
History
#1 Updated by Victor Olaya about 9 years ago
- Status changed from Open to Closed
Fixed in changeset 95b92c79608afda0709dcdf8e89ee40b81a51ec7.