#!/usr/bin/env python3

import argparse
import json

if __name__ == "__main__":
    file_name = "all_automations.json"
    arg_choices = ["actions", "conditions", "pin_providers"]

    parser = argparse.ArgumentParser()
    parser.add_argument(
        "-t",
        "--type",
        choices=arg_choices,
        help="Automation type to extract ('actions', 'conditions', 'pin_providers')",
    )
    args = parser.parse_args()

    with open(file_name) as json_file:
        raw_json = json.load(json_file)

    if args.type not in arg_choices:
        print("Unrecognized automation type")
        exit()

    automation_list = raw_json[args.type]

    component_dict = {}

    for item in automation_list:
        parts = item.split(".")
        if len(parts) == 2:
            if parts[0] not in component_dict:
                component_dict[parts[0]] = []
            component_dict[parts[0]].append(parts[1])

    out_str = ""

    for comp, autos in component_dict.items():
        out_str += f"- **{comp}:** "
        for item in autos:
            out_str += f"``{item}``, "
        out_str = out_str[:-2] + "\n"

    print(out_str)