aboutsummaryrefslogtreecommitdiff
path: root/generator/proto/__init__.py
blob: 96b2ee0353d0c8b6a81bb6bd139f4ddd0ab2eba2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'''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")