def expand()

in tools/cloud/firehose-to-html.py [0:0]


def expand(struct_data, expanded_data, name_prefix, s3_links, include_list, exclude_list):
    if type(struct_data) == dict:
        for key, value in struct_data.items():
            expand(
                value, expanded_data, name_prefix + "." + key, s3_links, include_list, exclude_list
            )
    elif type(struct_data) in [list, numpy.ndarray]:
        for i in range(len(struct_data)):
            expand(
                struct_data[i],
                expanded_data,
                f"{name_prefix}[{i}]",
                s3_links,
                include_list,
                exclude_list,
            )
    elif not is_included(name_prefix, include_list, exclude_list):
        return
    elif type(struct_data) == str:
        if "s3://" in struct_data:
            s3_links.append(struct_data)
    else:
        expanded_data[name_prefix] = float(struct_data)