Procházet zdrojové kódy

wxGUI/workspace: do not parse task node for command layer

Parsing caused TypeError because task node is not saved for command layer.
But command layer is loaded or rendered in some other way which makes 'pass' to be a sufficient solution.


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@61279 15284696-431f-4ddb-bdfa-cd5b030d7da7
Vaclav Petras před 11 roky
rodič
revize
cfe3ef1f61
1 změnil soubory, kde provedl 22 přidání a 15 odebrání
  1. 22 15
      gui/wxpython/core/workspace.py

+ 22 - 15
gui/wxpython/core/workspace.py

@@ -214,21 +214,28 @@ class ProcessWorkspaceFile:
         # layer attributes (task) - 2D settings
         #
         node_task = layer.find('task')
-        cmd.append(node_task.get('name', "unknown"))
-        
-        # flags
-        for p in node_task.findall('flag'):
-            flag = p.get('name', '')
-            if len(flag) > 1:
-                cmd.append('--' + flag)
-            else:
-                cmd.append('-' + flag)
-        
-        # parameters
-        for p in node_task.findall('parameter'):
-            cmd.append('%s=%s' % (p.get('name', ''),
-                                  self.__filterValue(self.__getNodeText(p, 'value'))))
-        
+        if node_task is None and layer.get('type') == 'command':
+            # TODO: perhaps the XML format should be changed and command
+            # should be changed to contain task
+            # TODO: where the command layer gets actually processed?
+            pass
+        else:
+            cmd.append(node_task.get('name', "unknown"))
+
+            # flags
+            for p in node_task.findall('flag'):
+                flag = p.get('name', '')
+                if len(flag) > 1:
+                    cmd.append('--' + flag)
+                else:
+                    cmd.append('-' + flag)
+
+            # parameters
+            for p in node_task.findall('parameter'):
+                cmd.append('%s=%s' % (p.get('name', ''),
+                                      self.__filterValue(
+                                          self.__getNodeText(p, 'value'))))
+
         if layer.find('selected') is not None:
             selected = True
         else: