Răsfoiți Sursa

Merge branch 'bugfix/idf_py_fix_property_dict' into 'master'

idf.py: Fix PropertyDict implementation

See merge request espressif/esp-idf!5775
Angus Gratton 6 ani în urmă
părinte
comite
f4763a3e1a
1 a modificat fișierele cu 14 adăugiri și 3 ștergeri
  1. 14 3
      tools/idf.py

+ 14 - 3
tools/idf.py

@@ -540,9 +540,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():