# Copyright 2023 Jacques-Etienne Baudoux (BCIM) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import logging _logger = logging.getLogger("wamas") class obj: def __init__(self, d): for k, v in d.items(): if isinstance(v, (list, tuple)): setattr(self, k, [obj(x) if isinstance(x, dict) else x for x in v]) else: setattr(self, k, obj(v) if isinstance(v, dict) else v) class MappingDict(dict): """ A dict that returns the key if there's no corresponding value """ def __missing__(self, key): _logger.debug("No mapping found for key: %s", key) return key