Dear Paulo,
On Sun, Oct 18, 2015 at 8:03 PM, Paulo van Breugel <p.vanbreu...@gmail.com> wrote: > What would be the python equivalent of: > > r.category mymap | r.category mymap rules=- Let's split the problem in two step. First capture the output of a module (the python equivalent of bash pipe): {{{ >>> from subprocess import PIPE # from the standard library import PIPE costant >>> from grass.pygrass.modules import Module # import the Module class from >>> pygrass >>> rcat = Module('r.category', 'landuse', stdout_=PIPE) # use the spacial >>> parameter stdout_ >>> rcat.outputs.stdout # the stdout is an attribute of the instanced class '1\tdeveloped\n2\tagriculture\n3\therbaceous\n4\tshrubland\n5\tforest\n6\twater\n7\tsediment\n' >>> print(rcat.outputs.stdout) 1 developed 2 agriculture 3 herbaceous 4 shrubland 5 forest 6 water 7 sediment }}} Second provide a string as stdinput of a module: {{{ >>> Module('r.category', 'mymap', rules='-', >>> stdin_='1\tdeveloped\n2\tagriculture\n3\therbaceous\n4\tshrubland\n5\tforest\n6\twater\n7\tsediment\n') Module('r.category') }}} or to do both things in one line: {{{ Module('r.category', 'mymap', rules='-', stdin_=Module('r.category', 'landuse', stdout_=PIPE).outputs.stdout) }}} You can use a shourtcut to have a cleaner syntax close to bash: {{{ >>> from grass.pygrass.modules.shortcuts import raster as r >>> r.category('mymap', rules='-', stdin_=r.category('landuse', >>> stdout_=PIPE).outputs.stdout) Module('r.category') }}} There is an example in the documentation using r.colors but it is not rendered corectly [0] Have fun! Pietro [0] https://grass.osgeo.org/grass71/manuals/libpython/pygrass.modules.interface.html#pygrass.modules.interface.module.Module _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev