Переглянути джерело

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 11 роки тому
батько
коміт
cfe3ef1f61
1 змінених файлів з 22 додано та 15 видалено
  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: