def to_path()

in functions/source/KubeManifest/lambda_function.py [0:0]


def to_path(path):
    if isinstance(path, list):
        return path  # already in list format

    def _iter_path(inner_path):
        indexes = [[int(i[1:-1])] for i in re.findall(r'\[[0-9]+\]', inner_path)]
        lists = re.split(r'\[[0-9]+\]', inner_path)
        for parts in range(len(lists)):
            for part in lists[parts].strip('.').split('.'):
                yield part
            if parts < len(indexes):
                yield indexes[parts]
            else:
                yield []

    return list(_iter_path(path))[:-1]