Bläddra i källkod

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 10 år sedan
förälder
incheckning
cfe3ef1f61
1 ändrade filer med 22 tillägg och 15 borttagningar
  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: