Merge branch 'master' into senslab2
[sfa.git] / sfa / rspecs / elements / element.py
1 class Element(dict):
2
3     fields = {}
4
5     def __init__(self, fields={}, element=None, keys=None):
6         self.element = element
7         dict.__init__(self, dict.fromkeys(self.fields))
8         if not keys:
9             keys = fields.keys()
10         for key in keys:
11             if key in fields:
12                 self[key] = fields[key] 
13
14
15     def __getattr__(self, name):
16         if hasattr(self.__dict__, name):
17             return getattr(self.__dict__, name)
18         elif hasattr(self.element, name):
19             return getattr(self.element, name)
20         else:
21             raise AttributeError, "class Element has no attribute %s" % name