Module brevettiai.utils.dict_utils
Expand source code
def dict_merger(source, target):
    """
    Merge two dicts of dicts
    :param source:
    :param target:
    :return:
    """
    for k, v in source.items():
        if isinstance(v, dict) and isinstance(target.get(k), dict):
            dict_merger(v, target[k])
        else:
            target[k] = v
def in_dicts(d, uri):
    """
    Check if path of keys in dict of dicts
    :param d: dict of dicts
    :param uri: list of keys
    :return:
    """
    if len(uri) > 1:
        if uri[0] not in d:
            return False
        return in_dicts(d[uri[0]], uri[1:])
    else:
        return uri[0] in d
Functions
def dict_merger(source, target)- 
Merge two dicts of dicts :param source: :param target: :return:
Expand source code
def dict_merger(source, target): """ Merge two dicts of dicts :param source: :param target: :return: """ for k, v in source.items(): if isinstance(v, dict) and isinstance(target.get(k), dict): dict_merger(v, target[k]) else: target[k] = v def in_dicts(d, uri)- 
Check if path of keys in dict of dicts :param d: dict of dicts :param uri: list of keys :return:
Expand source code
def in_dicts(d, uri): """ Check if path of keys in dict of dicts :param d: dict of dicts :param uri: list of keys :return: """ if len(uri) > 1: if uri[0] not in d: return False return in_dicts(d[uri[0]], uri[1:]) else: return uri[0] in d