Martin, Is this change in cmd.Command easy to implement?
Michael On 6/15/07 9:09 AM, "Glynn Clements" <[EMAIL PROTECTED]> 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 _______________________________________________ grassgui mailing list [email protected] http://grass.itc.it/mailman/listinfo/grassgui
