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