瀏覽代碼

Manage string parameter

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@57490 15284696-431f-4ddb-bdfa-cd5b030d7da7
Pietro Zambelli 11 年之前
父節點
當前提交
fc65b3acce
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      lib/python/pygrass/modules/interface/parameter.py

+ 9 - 0
lib/python/pygrass/modules/interface/parameter.py

@@ -106,6 +106,15 @@ class Parameter(object):
                                      (self.name, self.values))
             else:
                 self._value = value
+        elif self.type is str and isinstance(value, unicode):
+            if hasattr(self, 'values'):
+                if value in self.values:
+                    self._value = value
+                else:
+                    raise ValueError('The Parameter <%s>, must be one of: %r' %
+                                     (self.name, self.values))
+            else:
+                self._value = value
         else:
             str_err = 'The Parameter <%s>, require: %s, get: %s instead'
             raise TypeError(str_err % (self.name, self.typedesc, type(value)))