def walk_dict_filter()

in sitewise_export_tools/asset_model_exporter.py [0:0]


def walk_dict_filter(dictionary, case_handler, shape_filter):
    if isinstance(dictionary, dict):
        return {k[0].upper() + k[1:]: walk_dict_filter(case_handler(k,v), case_handler, shape_filter) for k, v in dictionary.items() if k[0].upper() + k[1:] in shape_filter}
    elif isinstance(dictionary, list):
        return [walk_dict_filter(item, case_handler, shape_filter) for item in dictionary]
    else:
        return dictionary