[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