Browse Source

wxGUI: fix parameter substitution (reset values)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@48874 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 years ago
parent
commit
ae723dc253
1 changed files with 7 additions and 5 deletions
  1. 7 5
      gui/wxpython/gui_modules/gmodeler.py

+ 7 - 5
gui/wxpython/gui_modules/gmodeler.py

@@ -497,8 +497,9 @@ class Model(object):
             
             
             # get variable values
             # get variable values
             varValue = dict()
             varValue = dict()
-            for var in params['variables']['params']:
-                varValue[var['name']] = var['value']
+            if 'variables' in params:
+                for var in params['variables']['params']:
+                    varValue[var['name']] = var['value']
         
         
         log.cmdThread.SetId(-1)
         log.cmdThread.SetId(-1)
         for item in self.GetItems():
         for item in self.GetItems():
@@ -558,8 +559,9 @@ class Model(object):
         
         
         # discard values
         # discard values
         if params:
         if params:
-            for var in params['variables']['params']:
-                var['value'] = ''
+            for item in params.itervalues():
+                for p in item['params']:
+                    p['value'] = ''
         
         
         if params:
         if params:
             dlg.Destroy()
             dlg.Destroy()
@@ -3176,7 +3178,7 @@ class WriteModelFile:
                                           (' ' * self.indent, f.get('name', '')))
                                           (' ' * self.indent, f.get('name', '')))
             else: # parameter
             else: # parameter
                 for p in val:
                 for p in val:
-                    if not p.get('value', ''):
+                    if not p.get('value', '') and not p.get('parameterized', False):
                         continue
                         continue
                     self.fd.write('%s<parameter name="%s">\n' %
                     self.fd.write('%s<parameter name="%s">\n' %
                                   (' ' * self.indent, p.get('name', '')))
                                   (' ' * self.indent, p.get('name', '')))