Changeset 2592 for trunk/packages
- Timestamp:
 - Dec 14, 2009, 8:50:43 PM (16 years ago)
 - File:
 - 
          
- 1 edited
 
- 
          trunk/packages/invirt-base/python/invirt/common.py (modified) (1 diff)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
        
trunk/packages/invirt-base/python/invirt/common.py
r2551 r2592 9 9 pass 10 10 11 class struct( object):11 class struct(dict): 12 12 'A simple namespace object.' 13 13 def __init__(self, d = {}, __prefix = None, **kwargs): 14 'd is the dictionary or the items-iterable to update my __dict__ with.' 15 dct = {} 16 dct.update(d) 17 dct.update(kwargs) 18 self.__dict__.update(dct) 19 self.__keys = set(dct) 14 super(struct, self).__init__(d) 20 15 self.__prefix = __prefix 16 self.update(kwargs) 21 17 def __getattr__(self, key): 22 # XX ideally these would point a frame higher on the stack.23 prefix = self.__prefix24 if prefix is not None:25 raise InvirtConfigError('missing configuration variable %s%s'26 % (prefix, key))27 else:28 raise AttributeError("anonymous struct has no member '%s'"29 % (key,))30 def __iter__(self):31 for i in self.__keys:32 yield i18 try: 19 return self[key] 20 except KeyError: 21 # XX ideally these would point a frame higher on the stack. 22 prefix = self.__prefix 23 if prefix is not None: 24 raise InvirtConfigError('missing configuration variable %s%s' 25 % (prefix, key)) 26 else: 27 raise AttributeError("anonymous struct has no member '%s'" 28 % (key,)) 33 29 34 30 def dicts2struct(x, prefix = None):  
Note: See TracChangeset
          for help on using the changeset viewer.
      