Browse Source

Pass r.mapcalc expressions via stdin rather than expression=

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@60662 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 11 years ago
parent
commit
b974d3da45
1 changed files with 11 additions and 8 deletions
  1. 11 8
      lib/python/script/raster.py

+ 11 - 8
lib/python/script/raster.py

@@ -98,10 +98,10 @@ def mapcalc(exp, quiet = False, verbose = False, overwrite = False, **kwargs):
     t = string.Template(exp)
     t = string.Template(exp)
     e = t.substitute(**kwargs)
     e = t.substitute(**kwargs)
 
 
-    if run_command('r.mapcalc', expression = e,
-                   quiet = quiet,
-                   verbose = verbose,
-                   overwrite = overwrite) != 0:
+    if write_command('r.mapcalc', file = '-', stdin = e,
+                     quiet = quiet,
+                     verbose = verbose,
+                     overwrite = overwrite) != 0:
         fatal(_("An error occurred while running r.mapcalc"))
         fatal(_("An error occurred while running r.mapcalc"))
 
 
 
 
@@ -131,10 +131,13 @@ def mapcalc_start(exp, quiet = False, verbose = False, overwrite = False, **kwar
     t = string.Template(exp)
     t = string.Template(exp)
     e = t.substitute(**kwargs)
     e = t.substitute(**kwargs)
 
 
-    return start_command('r.mapcalc', expression = e,
-                        quiet = quiet,
-                        verbose = verbose,
-                        overwrite = overwrite)
+    p = feed_command('r.mapcalc', file = '-',
+                     quiet = quiet,
+                     verbose = verbose,
+                     overwrite = overwrite)
+    p.stdin.write(e)
+    p.stdin.close()
+    return p
 
 
 # interface to r.what
 # interface to r.what
 def raster_what(map, coord):
 def raster_what(map, coord):