bugfix
This commit is contained in:
parent
6fb4f7eff0
commit
ab18e1d513
@ -20,40 +20,41 @@ class DictObjectEncoder(JSONEncoder):
|
|||||||
return o._addon()
|
return o._addon()
|
||||||
|
|
||||||
class DictObject(dict):
|
class DictObject(dict):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.update(*args, **kwargs)
|
self.update(*args, **kwargs)
|
||||||
|
|
||||||
def __getattr__(self, key):
|
def __getattr__(self, key):
|
||||||
try:
|
try:
|
||||||
return self[key]
|
return self[key]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise AttributeError(f"No such attribute: {key}")
|
return None
|
||||||
|
# raise AttributeError(f"No such attribute: {key}")
|
||||||
|
|
||||||
def __setattr__(self, key, value):
|
def __setattr__(self, key, value):
|
||||||
self[key] = value
|
self[key] = value
|
||||||
|
|
||||||
def __delattr__(self, key):
|
def __delattr__(self, key):
|
||||||
try:
|
try:
|
||||||
del self[key]
|
del self[key]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise AttributeError(f"No such attribute: {key}")
|
raise AttributeError(f"No such attribute: {key}")
|
||||||
|
|
||||||
def __setitem__(self, key, value):
|
def __setitem__(self, key, value):
|
||||||
super().__setitem__(key, self._wrap(value))
|
super().__setitem__(key, self._wrap(value))
|
||||||
|
|
||||||
def update(self, *args, **kwargs):
|
def update(self, *args, **kwargs):
|
||||||
for k, v in dict(*args, **kwargs).items():
|
for k, v in dict(*args, **kwargs).items():
|
||||||
self[k] = self._wrap(v)
|
self[k] = self._wrap(v)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _wrap(value):
|
def _wrap(value):
|
||||||
if isinstance(value, dict):
|
if isinstance(value, dict):
|
||||||
return DictObject(value)
|
return DictObject(value)
|
||||||
elif isinstance(value, list):
|
elif isinstance(value, list):
|
||||||
return [DictObject._wrap(v) for v in value]
|
return [DictObject._wrap(v) for v in value]
|
||||||
else:
|
else:
|
||||||
return value
|
return value
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def dictObjectFactory(_klassName__,**kwargs):
|
def dictObjectFactory(_klassName__,**kwargs):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user