diff options
Diffstat (limited to 'ironic/tests/unit/drivers/modules/drac/utils.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/drac/utils.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ironic/tests/unit/drivers/modules/drac/utils.py b/ironic/tests/unit/drivers/modules/drac/utils.py index ea0958ef2..cf93d48a0 100644 --- a/ironic/tests/unit/drivers/modules/drac/utils.py +++ b/ironic/tests/unit/drivers/modules/drac/utils.py @@ -14,6 +14,13 @@ import collections +class DictToObj(object): + """Returns a dictionary into a class""" + def __init__(self, dictionary): + for key in dictionary: + setattr(self, key, dictionary[key]) + + def dict_to_namedtuple(name='GenericNamedTuple', values=None): """Converts a dict to a collections.namedtuple""" @@ -21,3 +28,13 @@ def dict_to_namedtuple(name='GenericNamedTuple', values=None): values = {} return collections.namedtuple(name, list(values))(**values) + + +def dict_of_object(data): + """Create a dictionary object""" + + for k, v in data.items(): + if isinstance(v, dict): + dict_obj = DictToObj(v) + data[k] = dict_obj + return data |