| '''This file automatically rebuilds the proto definitions for Python.''' |
| |
| import os |
| import os.path |
| import sys |
| import subprocess |
| |
| dirname = os.path.dirname(__file__) |
| protosrc = os.path.join(dirname, "nanopb.proto") |
| protodst = os.path.join(dirname, "nanopb_pb2.py") |
| |
| if os.path.isfile(protosrc): |
| src_date = os.path.getmtime(protosrc) |
| if not os.path.isfile(protodst) or os.path.getmtime(protodst) < src_date: |
| cmd = ["protoc", "--python_out=.", "nanopb.proto", "plugin.proto"] |
| status = subprocess.call(cmd, cwd = dirname) |
| if status != 0: |
| sys.stderr.write("Failed to build nanopb_pb2.py: " + ' '.join(cmd) + "\n") |
| |