Initial Release of IGNCore version 2.5
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
class DictObject(dict):
|
||||
def __init__(self, *args, **kw):
|
||||
super().__init__(*args, **kw)
|
||||
|
||||
def get_value(self, name):
|
||||
val = self[name]
|
||||
# convert dict to DictObject
|
||||
if not isinstance(val, DictObject) and isinstance(val, dict):
|
||||
self[name] = DictObject(val)
|
||||
val = self[name]
|
||||
|
||||
# convert list of dicts to list of DictObjects
|
||||
elif isinstance(val, list):
|
||||
for k, v in enumerate(val):
|
||||
if not isinstance(v, DictObject) and isinstance(v, dict):
|
||||
self[name][k] = DictObject(v)
|
||||
val = self[name]
|
||||
|
||||
return val
|
||||
|
||||
def __getattr__(self, name):
|
||||
return self.get_value(name)
|
||||
|
||||
def __setattr__(self, key, value):
|
||||
self[key] = value
|
||||
Reference in New Issue
Block a user