#!/usr/bin/env python3

import os
from pathlib import Path
from subprocess import check_call

root_dir = Path(__file__).absolute().parent.parent
os.chdir(root_dir)

check_call(
    [  # noqa: S607  # protoc resolved from PATH by design for this dev script
        "protoc",
        "--python_out=aioesphomeapi",
        "-I",
        "aioesphomeapi",
        "aioesphomeapi/api.proto",
        "aioesphomeapi/api_options.proto",
    ]
)

# https://github.com/protocolbuffers/protobuf/issues/1491
api_file = root_dir / "aioesphomeapi" / "api_pb2.py"
content = api_file.read_text().replace(
    "import api_options_pb2 as api__options__pb2",
    "from . import api_options_pb2 as api__options__pb2",
)
api_file.write_text(content)

for fname in ["api_pb2.py", "api_options_pb2.py"]:
    file = root_dir / "aioesphomeapi" / fname
    content = "# type: ignore\n" + file.read_text()
    file.write_text(content)
