mirror of
https://github.com/bringout/oca-edi.git
synced 2026-04-23 00:32:07 +02:00
25 lines
693 B
Python
25 lines
693 B
Python
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
|
# 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
|