[GRASS-dev] [GRASS GIS] #995: WxGUI startup screen fails if
GISDBASE path contains non-latin characters
GRASS GIS
trac at osgeo.org
Thu Mar 11 08:00:17 EST 2010
#995: WxGUI startup screen fails if GISDBASE path contains non-latin characters
----------------------------+-----------------------------------------------
Reporter: marisn | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: blocker | Milestone: 6.4.0
Component: wxGUI | Version: svn-releasebranch64
Keywords: wxgui, windows | Platform: MSWindows Vista
Cpu: Unspecified |
----------------------------+-----------------------------------------------
WXGUI startup screen goes bad when GISDBASE is pointing to folder with
non-latin chars in path.
Steps to reproduce: "mkdir 'Šaursliežu dzelzceļš'" and set it as GISDBASE.
{{{
---------------------------
Error in command execution g.gisenv
---------------------------
Execution failed: 'g.gisenv
set=GISDBASE=C:/Users/Maris/Documents/Šaursliežu dzelzceļš'
Details:
Error: Unable to exectute command: 'g.gisenv
set=GISDBASE=C:/Users/Maris/Documents/Šaursliežu dzelzceļš'
---------------------------
OK
---------------------------
}}}
{{{
KŽ█DA:G_getenv(): Variable LOCATION_NAME not set
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\OSGeo4W\apps\Python25\lib\threading.py", line 486, in
__bootstrap_inn
er
self.run()
File "C:\Program Files\GRASS-64-SVN\etc\wxpython\gui_modules\gcmd.py",
line 52
7, in run
shell=sys.platform=="win32")
File "C:\Program Files\GRASS-64-SVN\Python25\lib\subprocess.py", line
594, in
__init__
errread, errwrite)
File "C:\Program Files\GRASS-64-SVN\Python25\lib\subprocess.py", line
816, in
_execute_child
startupinfo)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0160' in
position 9
2: ordinal not in range(128)
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\OSGeo4W\apps\Python25\lib\threading.py", line 486, in
__bootstrap_inn
er
self.run()
File "C:\Program Files\GRASS-64-SVN\etc\wxpython\gui_modules\gcmd.py",
line 52
7, in run
shell=sys.platform=="win32")
File "C:\Program Files\GRASS-64-SVN\Python25\lib\subprocess.py", line
594, in
__init__
errread, errwrite)
File "C:\Program Files\GRASS-64-SVN\Python25\lib\subprocess.py", line
816, in
_execute_child
startupinfo)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0160' in
position 7
9: ordinal not in range(128)
Traceback (most recent call last):
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 854,
in <mo
dule>
GRASSStartUp = StartUp(0)
File "C:\OSGeo4W\apps\Python25\lib\site-packages\wx-2.8-msw-
unicode\wx\_core.p
y", line 7935, in __init__
File "C:\OSGeo4W\apps\Python25\lib\site-packages\wx-2.8-msw-
unicode\wx\_core.p
y", line 7509, in _BootstrapApp
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 825,
in OnI
nit
StartUp = GRASSStartup()
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 165,
in __i
nit__
self._set_properties()
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 206,
in _se
t_properties
self.OnSetDatabase(None)
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 665,
in OnS
etDatabase
self.OnSelectLocation(None)
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 617,
in OnS
electLocation
self.listOfLocations[self.lblocations.GetSelection()]))
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 591,
in Upd
ateMapsets
"set=GISDBASE=%s" % self.gisdbase])
File "C:\Program Files\GRASS-64-SVN\etc\wxpython\gui_modules\gcmd.py",
line 35
7, in __init__
_("Error: ") + self.GetError()))
gui_modules.gcmd.CmdError
}}}
Also interesting bit - I DON'T have such folder as "C:\OSGeo4W"
Setting this as a blocker because it's impossible to change bogous
GISDBASE value as WXGUI startup screen fails to come up and provide
GISDBASE choice option. Only solution is to start GRASS CLI or rm any
.grass* files. Both options are not beginner-friendly.
Another part in location wizard:
{{{
access: No such file or directory
KŽ█DA:ATRAąAN┬S VIETA << C:\Users\Maris\Documents\atstar pem/mans >> nav
pieejama
Traceback (most recent call last):
File "C:\Program Files\GRASS-64-
SVN\etc\wxpython\gui_modules\location_wizard.p
y", line 1710, in OnEnterPage
self.ldatabase.SetLabel(str(database))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0160' in
position 2
5: ordinal not in range(128)
Traceback (most recent call last):
File "C:/Program Files/GRASS-64-SVN/etc/wxpython/gis_set.py", line 412,
in OnW
izard
grassdatabase = self.tgisdbase.GetValue())
File "C:\Program Files\GRASS-64-
SVN\etc\wxpython\gui_modules\location_wizard.p
y", line 1853, in __init__
msg = self.OnWizFinished()
File "C:\Program Files\GRASS-64-
SVN\etc\wxpython\gui_modules\location_wizard.p
y", line 2011, in OnWizFinished
set='GISDBASE=%s' % database)
File "C:\Program Files\GRASS-64-SVN\etc\wxpython\gui_modules\gcmd.py",
line 59
6, in RunCommand
ps = grass.start_command(prog, flags, overwrite, quiet, verbose,
**kwargs)
File "C:\Program Files\GRASS-64-SVN\etc\python\grass\script\core.py",
line 143
, in start_command
args = make_command(prog, flags, overwrite, quiet, verbose, **options)
File "C:\Program Files\GRASS-64-SVN\etc\python\grass\script\core.py",
line 106
, in make_command
args.append("%s=%s" % (opt, _make_val(val)))
File "C:\Program Files\GRASS-64-SVN\etc\python\grass\script\core.py",
line 73,
in _make_val
return str(val)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0160' in
position 3
4: ordinal not in range(128)
}}}
WinGRASS-6.4.SVN-r41363-1 running Windows Vista.
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/995>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list