33 lines
835 B
Python
Executable File
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)
|