Преглед изворни кода

d.* scripts: check if graphics device is open or render immediate set for modules which run from wxGUI

 * changing https://trac.osgeo.org/grass/changeset/62845 for d.shade and d.vect.thematic
 * MONITOR GRASS GIS variable is set by d.mon but GRASS_RENDER_IMMEDIATE environmental variable is set in wxGUI
 * similar change might be needed for other modules too in case they are used with GRASS_RENDER_IMMEDIATE
 * better error message might be needed for GRASS_RENDER_IMMEDIATE, common implementation might be advantageous


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@63306 15284696-431f-4ddb-bdfa-cd5b030d7da7
Vaclav Petras пре 10 година
родитељ
комит
e2407f230f
2 измењених фајлова са 9 додато и 3 уклоњено
  1. 5 1
      scripts/d.shade/d.shade.py
  2. 4 2
      scripts/d.vect.thematic/d.vect.thematic.py

+ 5 - 1
scripts/d.shade/d.shade.py

@@ -50,7 +50,11 @@ def main():
     env = gcore.gisenv()
     env = gcore.gisenv()
     mon = env.get('MONITOR', None)
     mon = env.get('MONITOR', None)
     if not mon:
     if not mon:
-        gcore.fatal(_("No graphics device selected. Use d.mon to select graphics device."))
+        # os is needed only here
+        import os
+        if not 'GRASS_RENDER_IMMEDIATE' in os.environ:
+            gcore.fatal(_("No graphics device selected."
+                          " Use d.mon to select graphics device."))
 
 
     drape_map = options['drapemap']
     drape_map = options['drapemap']
     relief_map = options['reliefmap']
     relief_map = options['reliefmap']

+ 4 - 2
scripts/d.vect.thematic/d.vect.thematic.py

@@ -231,10 +231,12 @@ def out(fh, vars, tmpl):
 def main():
 def main():
     global tmp_graph, tmp_group, tmp_psmap, tmp_psleg, tmp_gisleg
     global tmp_graph, tmp_group, tmp_psmap, tmp_psleg, tmp_gisleg
 
 
-    env = grass.gisenv()
+    env = gcore.gisenv()
     mon = env.get('MONITOR', None)
     mon = env.get('MONITOR', None)
     if not mon:
     if not mon:
-        grass.fatal(_("No graphics device selected. Use d.mon to select graphics device."))
+        if not 'GRASS_RENDER_IMMEDIATE' in os.environ:
+            gcore.fatal(_("No graphics device selected."
+                          " Use d.mon to select graphics device."))
 
 
     breakpoints = options['breakpoints']
     breakpoints = options['breakpoints']
     colorscheme = options['colorscheme']
     colorscheme = options['colorscheme']