瀏覽代碼

add debug info, bug fix

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@46277 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 14 年之前
父節點
當前提交
7eb934dde6
共有 3 個文件被更改,包括 29 次插入7 次删除
  1. 22 3
      gui/wxpython/gui_modules/gcmd.py
  2. 5 4
      gui/wxpython/gui_modules/gselect.py
  3. 2 0
      gui/wxpython/gui_modules/utils.py

+ 22 - 3
gui/wxpython/gui_modules/gcmd.py

@@ -597,29 +597,48 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False, verbose = Fal
     
     
     ps = grass.start_command(prog, flags, overwrite, quiet, verbose, **kwargs)
     ps = grass.start_command(prog, flags, overwrite, quiet, verbose, **kwargs)
     
     
+    Debug.msg(1, "gcmd.RunCommand(): command started")
+
     if stdin:
     if stdin:
         ps.stdin.write(stdin)
         ps.stdin.write(stdin)
         ps.stdin.close()
         ps.stdin.close()
         ps.stdin = None
         ps.stdin = None
     
     
+    Debug.msg(1, "gcmd.RunCommand(): decoding string")
     stdout, stderr = map(lambda x: utils.DecodeString(x) if type(x) is types.StringType else x, ps.communicate())
     stdout, stderr = map(lambda x: utils.DecodeString(x) if type(x) is types.StringType else x, ps.communicate())
     
     
+    Debug.msg(1, "gcmd.RunCommand(): get return code")
     ret = ps.returncode
     ret = ps.returncode
         
         
-    if ret != 0 and parent: 
-        GError(parent = parent,
-               message = stderr)
+    Debug.msg(1, "gcmd.RunCommand(): print error")
+    if ret != 0 and parent:
+        Debug.msg(1, "gcmd.RunCommand(): error %s" % stderr)
+        if (stderr == None):
+            Debug.msg(1, "gcmd.RunCommand(): nothing to print ???")
+        else:
+            GError(parent = parent,
+                   message = stderr)
+
+    if ret != 0:
+        return None
     
     
+    Debug.msg(1, "gcmd.RunCommand(): print read error")
     if not read:
     if not read:
         if not getErrorMsg:
         if not getErrorMsg:
             return ret
             return ret
         else:
         else:
             return ret, _formatMsg(stderr)
             return ret, _formatMsg(stderr)
 
 
+    if stdout:
+        Debug.msg(1, "gcmd.RunCommand(): return stdout %s" % stdout)
+    else:
+        Debug.msg(1, "gcmd.RunCommand(): return stdout = None")
     if not getErrorMsg:
     if not getErrorMsg:
         return stdout
         return stdout
     
     
+    Debug.msg(1, "gcmd.RunCommand(): return ret, stdout")
     if read and getErrorMsg:
     if read and getErrorMsg:
         return ret, stdout, _formatMsg(stderr)
         return ret, stdout, _formatMsg(stderr)
     
     
+    Debug.msg(1, "gcmd.RunCommand(): return result")
     return stdout, _formatMsg(stderr)
     return stdout, _formatMsg(stderr)

+ 5 - 4
gui/wxpython/gui_modules/gselect.py

@@ -658,14 +658,15 @@ class LayerSelect(wx.Choice):
         """!Insert layers for a vector into the layer combobox"""
         """!Insert layers for a vector into the layer combobox"""
         layerchoices = utils.GetVectorNumberOfLayers(self, vector)
         layerchoices = utils.GetVectorNumberOfLayers(self, vector)
         
         
-        if self.all:
+        if self.all or len(layerchoices) == 0:
             layerchoices.insert(0, '-1')
             layerchoices.insert(0, '-1')
         if len(layerchoices) > 1:
         if len(layerchoices) > 1:
             self.SetItems(layerchoices)
             self.SetItems(layerchoices)
             self.SetStringSelection('1')
             self.SetStringSelection('1')
-        else:
-            self.SetItems(['1'])
-            self.SetStringSelection('1')
+        elif len(layerchoices) == 1:
+            print layerchoices[0]
+            self.SetItems(layerchoices)
+            self.SetStringSelection(layerchoices[0])
         
         
         if self.default:
         if self.default:
             self.SetStringSelection(str(self.default))
             self.SetStringSelection(str(self.default))

+ 2 - 0
gui/wxpython/gui_modules/utils.py

@@ -294,6 +294,8 @@ def GetVectorNumberOfLayers(parent, vector):
         
         
     if not ret:
     if not ret:
         return layers
         return layers
+    else:
+        Debug.msg(1, "GetVectorNumberOfLayers(): ret %s" % ret)
     
     
     for line in ret.splitlines():
     for line in ret.splitlines():
         try:
         try: