class ConfigInfo(object):
- def __init__(self, key):
- self.key = key
- self.struct = sr_config_info_get(key.id)
+ def __new__(cls, key):
+ struct = sr_config_info_get(key.id)
+ if not struct:
+ return None
+ obj = super(ConfigInfo, cls).__new__(cls)
+ obj.key = key
+ obj.struct = struct
+ return obj
@property
def datatype(self):
if symbol_name.startswith(prefix):
name = symbol_name[len(prefix):]
value = getattr(lowlevel, symbol_name)
- setattr(cls, name, cls(value))
+ obj = cls(value)
+ setattr(cls, name, obj)
+ if cls is ConfigKey:
+ obj.info = ConfigInfo(obj)
+ if obj.info:
+ setattr(cls, obj.info.id, obj)