[GRASS-dev] formatting expressions for r.mapcalc in GRASS6.4.3
Glynn Clements
glynn at gclements.plus.com
Fri Mar 15 10:09:34 PDT 2013
Markus Neteler wrote:
> > gui/wxpython/core/utils.py has:
> >
> > def split(s):
> > """!Platform spefic shlex.split"""
> > if sys.version_info >= (2, 6):
> > return shlex.split(s, posix = (sys.platform != "win32"))
> > elif sys.platform == "win32":
> > return shlex.split(s.replace('\\', r'\\'))
> > else:
> > return shlex.split(s)
> >
> > However: shlex.split(..., posix=False) will retain any quotes, while
> > posix=True removes them:
> >
> > > shlex.split('a "b c"')
> > ['a', 'b c']
> > > shlex.split('a "b c"', posix=False)
> > ['a', '"b c"']
> >
> > With posix=False, there doesn't appear any way to prevent splitting on
> > whitespace without also adding quotes.
> >
> > From the above code, it appears that posix=False is used on Windows so
> > that backslash characters in filenames are treated as literal
> > backslashes rather than as escape characters. If that's the only
> > reason, then removing the "if" case may suffice.
>
> I don't know exactly how let our guest test that...
Tell them to modify utils.py as described above, or provide them with
a modified version.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list