diff options
Diffstat (limited to 'generator/proto/__init__.py')
-rw-r--r-- | generator/proto/__init__.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/generator/proto/__init__.py b/generator/proto/__init__.py index e69de29..96b2ee0 100644 --- a/generator/proto/__init__.py +++ b/generator/proto/__init__.py @@ -0,0 +1,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") + |