[GRASSGUI] Re: [GRASS-dev] d.rast.edit in wxgrass

Michael Barton michael.barton at asu.edu
Fri Jun 15 14:08:33 EDT 2007


Martin,

Is this change in cmd.Command easy to implement?

Michael


On 6/15/07 9:09 AM, "Glynn Clements" <glynn at gclements.plus.com> wrote:

> 
> Michael Barton wrote:
> 
>>>> GRASS command parsing from the wxgrass CLI:
>>>> 
>>>> Split the command into a list by spaces. I realize that this is a problem
>>>> for any command with spaces in the arguments, but I know of no better way
>>>> to
>>>> do this in this context outside of making users type any command as a
>>>> Python
>>>> list. If we made people type ['g.region', 'rast=mymap', 'res=30'] instead
>>>> of
>>>> g.region rast=mymap res=30, I don't think anyone would want to use the CLI.
>>> 
>>> This is one case where shell=True *is* legitimate. At least with a
>>> shell, the user can use quotes or backslashes to include spaces in
>>> arguments. Or you could implement equivalent functionality yourself.
>> 
>> IIUC, if I keep these as strings, I don't think I can use the cmd.Command
>> class and would have to do a custom version of Popen. Then I'd have to send
>> them through a different processing path rather than the RunCmd method that
>> everything else uses.
> 
> One option is to call the shell explicitly, i.e.:
> 
> cmd.Command(['/bin/sh', '-c', cmdstr], ....)
> 
> or (on Windows):
> 
> cmd.Command(['cmd', '/c', cmdstr], ...)
> 
> Simply adding quoting to the existing implementation would probably be
> preferable, though.

__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton





More information about the grass-dev mailing list