Pārlūkot izejas kodu

wxGUI: fix https://trac.osgeo.org/grass/ticket/1404: GUI command line completion

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@47121 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 13 gadi atpakaļ
vecāks
revīzija
f23ed57383
1 mainītis faili ar 8 papildinājumiem un 8 dzēšanām
  1. 8 8
      gui/wxpython/gui_modules/prompt.py

+ 8 - 8
gui/wxpython/gui_modules/prompt.py

@@ -832,7 +832,7 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
                         if paramName:
                         if paramName:
                             try:
                             try:
                                 param = self.cmdDesc.get_param(paramName)
                                 param = self.cmdDesc.get_param(paramName)
-                            except ValueError:
+                            except (ValueError, AttributeError):
                                 return
                                 return
                         else:
                         else:
                             return
                             return
@@ -901,11 +901,11 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
             self.InsertText(pos, '.')
             self.InsertText(pos, '.')
             self.CharRight()
             self.CharRight()
             self.toComplete = self.EntityToComplete()
             self.toComplete = self.EntityToComplete()
-            if self.toComplete['entity'] == 'command': 
-                try:
+            try:
+                if self.toComplete['entity'] == 'command': 
                     self.autoCompList = self.moduleList[entry.strip()]
                     self.autoCompList = self.moduleList[entry.strip()]
-                except KeyError:
-                    return
+            except (KeyError, TypeError):
+                return
             self.ShowList()
             self.ShowList()
 
 
         # complete flags after pressing '-'       
         # complete flags after pressing '-'       
@@ -960,7 +960,7 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
             # complete flags in such situations (| is cursor):
             # complete flags in such situations (| is cursor):
             # r.colors -| ...w, q, l
             # r.colors -| ...w, q, l
             # r.colors -w| ...w, q, l  
             # r.colors -w| ...w, q, l  
-            elif self.toComplete['entity'] == 'flags':
+            elif self.toComplete['entity'] == 'flags' and self.cmdDesc:
                 for flag in self.cmdDesc.get_options()['flags']:
                 for flag in self.cmdDesc.get_options()['flags']:
                     if len(flag['name']) == 1:
                     if len(flag['name']) == 1:
                         self.autoCompList.append(flag['name'])
                         self.autoCompList.append(flag['name'])
@@ -968,7 +968,7 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
             # complete parameters in such situations (| is cursor):
             # complete parameters in such situations (| is cursor):
             # r.colors -w | ...color, map, rast, rules
             # r.colors -w | ...color, map, rast, rules
             # r.colors col| ...color
             # r.colors col| ...color
-            elif self.toComplete['entity'] == 'params':
+            elif self.toComplete['entity'] == 'params' and self.cmdDesc:
                 for param in self.cmdDesc.get_options()['params']:
                 for param in self.cmdDesc.get_options()['params']:
                     if param['name'].find(self.GetWordLeft(withDelimiter=False)) == 0:
                     if param['name'].find(self.GetWordLeft(withDelimiter=False)) == 0:
                         self.autoCompList.append(param['name'])           
                         self.autoCompList.append(param['name'])           
@@ -976,7 +976,7 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
             # complete flags or parameters in such situations (| is cursor):
             # complete flags or parameters in such situations (| is cursor):
             # r.colors | ...-w, -q, -l, color, map, rast, rules
             # r.colors | ...-w, -q, -l, color, map, rast, rules
             # r.colors color=grey | ...-w, -q, -l, color, map, rast, rules
             # r.colors color=grey | ...-w, -q, -l, color, map, rast, rules
-            elif self.toComplete['entity'] == 'params+flags':
+            elif self.toComplete['entity'] == 'params+flags' and self.cmdDesc:
                 self.autoCompList = list()
                 self.autoCompList = list()
                 
                 
                 for param in self.cmdDesc.get_options()['params']:
                 for param in self.cmdDesc.get_options()['params']: