[GRASS-dev] [GRASS GIS] #2008: grass.script's find_program() can't find modules

GRASS GIS trac at osgeo.org
Sat Jun 22 08:20:18 PDT 2013


#2008: grass.script's find_program() can't find modules
-----------------------+----------------------------------------------------
  Reporter:  hamish    |       Owner:  grass-dev@…              
      Type:  defect    |      Status:  reopened                 
  Priority:  critical  |   Milestone:  6.4.4                    
 Component:  Python    |     Version:  svn-releasebranch64      
Resolution:            |    Keywords:  find_program()           
  Platform:  All       |         Cpu:  x86-64                   
-----------------------+----------------------------------------------------

Comment(by glynn):

 Replying to [comment:24 wenzeslaus]:
 > I've committed the small fix for r56867 in r56869 (Python says ''can
 only concatenate list (not "tuple") to list'').

 Er, right.

 > There is except without OSError, mentioned before, is there any reason
 for this?

 Nothing particular. It's mainly a case of determining "works" versus
 "doesn't work" without caring about the reasons for the latter. If other
 errors are possible, should the caller be concerned with them? I.e. should
 we just allow exceptions other than `OSError` to propagate up to the
 caller? In any case, it should probably be restricted at least to either
 `StandardError` or `Exception`, so that it doesn't catch
 `KeyboardInterrupt`.

 > I was about to commit the special case for the `explorer` cmd on MS Win.
 However, there is also a special case for `xdg-open`, I'm not sure why.

 I think that the "browser != 'xdg-open'" check is just because xdg-open
 returns a non-zero exit code when run without arguments.

 > Moreover, I tested also other command and e.g. `firefox` blocks the
 g.manual (it also blocks the cmd line when launched without &).

 I don't think that find_program() is appropriate for GUI applications.
 E.g. on Windows, many of them will spawn a GUI regardless of any arguments
 given.

 More generally, there should probably be separate functions for "opening"
 a file or URL in the user's desktop environment.

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/2008#comment:28>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list