Source code for fastiot.util.case_conversions

from typing import Dict, List


[docs]def kebab_case_to_snake_case(d: Dict): """ Converts keys of dictionary recursively from kebab case, e.g. ``my-key`` to snake case, e.g. ``my_key``. """ keys = list(d.keys()) for key in keys: if isinstance(d[key], dict): kebab_case_to_snake_case(d=d[key]) elif isinstance(d[key], list): _kebab_case_to_snake_case_for_list(d[key]) new_key = key.replace('-', '_') if key != new_key: d[new_key] = d[key] del d[key]
def _kebab_case_to_snake_case_for_list(l: List): for item in l: if isinstance(item, dict): kebab_case_to_snake_case(item) elif isinstance(item, list): _kebab_case_to_snake_case_for_list(item)