X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fpython%2Fsigrok%2Fcore%2Fclasses.py;h=ce7c02adfe6220b7e64b828ddc18a687a831c2ef;hb=01e9ff61c2b32cd607c71c55b72b729851a19abc;hp=5f38028ffae5be6e392dd8fa83cb46fad5764b18;hpb=14e8eb33539dedf7760efff3165b3a0a1e09edbd;p=libsigrok.git diff --git a/bindings/python/sigrok/core/classes.py b/bindings/python/sigrok/core/classes.py index 5f38028f..ce7c02ad 100644 --- a/bindings/python/sigrok/core/classes.py +++ b/bindings/python/sigrok/core/classes.py @@ -151,7 +151,7 @@ class Driver(object): self._initialized = True options = [] for name, value in kwargs.items(): - key = getattr(ConfigKey, name.upper()) + key = getattr(ConfigKey, name) src = sr_config() src.key = key.id src.data = python_to_gvariant(value) @@ -180,7 +180,7 @@ class Device(object): self._probe_groups = None def __getattr__(self, name): - key = getattr(ConfigKey, name.upper()) + key = getattr(ConfigKey, name) data = new_gvariant_ptr_ptr() try: check(sr_config_get(self.driver.struct, self.struct, None, @@ -196,7 +196,7 @@ class Device(object): def __setattr__(self, name, value): try: - key = getattr(ConfigKey, name.upper()) + key = getattr(ConfigKey, name) except AttributeError: super(Device, self).__setattr__(name, value) return @@ -608,4 +608,11 @@ for symbol_name in dir(lowlevel): 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) + else: + setattr(cls, name.lower(), obj)