1'''This file automatically rebuilds the proto definitions for Python.''' 2 3import os 4import os.path 5import sys 6import subprocess 7 8dirname = os.path.dirname(__file__) 9protosrc = os.path.join(dirname, "nanopb.proto") 10protodst = os.path.join(dirname, "nanopb_pb2.py") 11 12if os.path.isfile(protosrc): 13 src_date = os.path.getmtime(protosrc) 14 if not os.path.isfile(protodst) or os.path.getmtime(protodst) < src_date: 15 cmd = ["protoc", "--python_out=.", "nanopb.proto"] 16 status = subprocess.call(cmd, cwd = dirname) 17 if status != 0: 18 sys.stderr.write("Failed to build nanopb_pb2.py: " + ' '.join(cmd) + "\n") 19 20