[GRASS-dev] winGRASS 6.4.svn: Attribute manager not opening

Anna Kratochvílová kratochanna at gmail.com
Tue Sep 4 05:01:38 PDT 2012


On Tue, Sep 4, 2012 at 11:04 AM, Markus Neteler <neteler at osgeo.org> wrote:
> Hi,
>
> when loading "roadsmajor" of NC on various windows machines (with
> and without white space in the grassdata path, we get
>
> Error:
> 'columns' is not recognized as an internal or external command,
> operable program or batch file
> [OK]
>
> Then the attrib. manager opens but it remains empty.
>
> Maybe here?
>
> dbmgr/manager.py
> ...
>        self.listOfCommands.append(('v.db.addcol',
>                                     { 'map'     : self.vectorName,
>                                       'layer'   : self.layer,
>                                       'columns' : '%s %s' % (name, ctype) }
>                                     ))
>
> No idea..
>
> Markus

Problem occurs when calling this (line 194, dbmgr/manager.py in grass64)

ret = RunCommand('v.db.select',
                                 quiet = True,
                                 parent = self,
                                 flags = 'c',
                                 map = self.mapDBInfo.map,
                                 layer = layer,
                                 columns = ','.join(columns),
                                 fs = fs,
                                 where = where,
                                 stdout = outFile)

I recently added the fs parameter to be able to open data which
contain | character by changing the separator in preferences. On
Windows it is causing splitting the whole command into 2 parts -
before and after pipe. As a result 'columns' parameter (after pipe) is
treated like another command. As a temporal workaround you can set the
separator to something different in preferences (more characters are
accepted)  - this should work immediately. I can also revert the
change.

On Linux the characters in parameters are escaped properly probably in
Popen but not on Windows. Anyone knows how to solve this properly?

Anna


More information about the grass-dev mailing list