esphome-aioesphomeapi/script/gen-protoc

33 lines
835 B
Python
Executable File

#!/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(
[
"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)