소스 검색

Make it easier to get/set inputs and outputs values of the Module class

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@54812 15284696-431f-4ddb-bdfa-cd5b030d7da7
Pietro Zambelli 12 년 전
부모
커밋
8b13b16a86
1개의 변경된 파일14개의 추가작업 그리고 0개의 파일을 삭제
  1. 14 0
      lib/python/pygrass/modules/__init__.py

+ 14 - 0
lib/python/pygrass/modules/__init__.py

@@ -254,6 +254,20 @@ class TypeDict(OrderedDict):
         self.type = dict_type
         self.type = dict_type
         super(TypeDict, self).__init__(*args, **kargs)
         super(TypeDict, self).__init__(*args, **kargs)
 
 
+    def __getattr__(self, key):
+        if key in self:
+            return self[key].value
+        return OrderedDict.__getattr__(self, key)
+
+    def __setattr__(self, key, value):
+        if key in self:
+            self[key].value = value
+        else:
+            OrderedDict.__setattr__(self, key, value)
+
+    def __dir__(self):
+        return self.keys()
+
     def __setitem__(self, key, value):
     def __setitem__(self, key, value):
         if isinstance(value, self.type):
         if isinstance(value, self.type):
             super(TypeDict, self).__setitem__(key, value)
             super(TypeDict, self).__setitem__(key, value)