idf.py: Fix PropertyDict implementation
@@ -524,9 +524,20 @@ def get_default_serial_port():
class PropertyDict(dict):
- def __init__(self, *args, **kwargs):
- super(PropertyDict, self).__init__(*args, **kwargs)
- self.__dict__ = self
+ def __getattr__(self, name):
+ if name in self:
+ return self[name]
+ else:
+ raise AttributeError("'PropertyDict' object has no attribute '%s'" % name)
+
+ def __setattr__(self, name, value):
+ self[name] = value
+
+ def __delattr__(self, name):
+ if name in self:
+ del self[name]
+ else:
+ raise AttributeError("'PropertyDict' object has no attribute '%s'" % name)
def init_cli():
