From de9026de6e62c8df623213a20bf6cde54c6bd842 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 15 Feb 2019 08:39:15 +1100 Subject: [PATCH] ctodata: make stripping the last byte optional --- release/datafiles/ctodata.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/release/datafiles/ctodata.py b/release/datafiles/ctodata.py index c5d92ecb544..0471faad565 100755 --- a/release/datafiles/ctodata.py +++ b/release/datafiles/ctodata.py @@ -27,25 +27,35 @@ import sys -if len(sys.argv) < 2: - sys.stdout.write("Usage: ctodata \n") +argv = sys.argv[:] + +strip_byte = False +if "--strip-byte" in argv: + argv.remove("--strip-byte") + strip_byte = True + +if len(argv) < 2: + sys.stdout.write("Usage: ctodata [--strip-byte]\n") sys.exit(1) -filename = sys.argv[1] +filename = argv[1] try: fpin = open(filename, "r") except: - sys.stdout.write("Unable to open input %s\n" % sys.argv[1]) + sys.stdout.write("Unable to open input %s\n" % argv[1]) sys.exit(1) data = fpin.read().rsplit("{")[-1].split("}")[0] data = data.replace(",", " ") data = data.split() data = [int(v) for v in data] -# for some reason all data gets trailing byte -last = data.pop() -assert(last == 0) + +if strip_byte: + # String data gets trailing byte. + last = data.pop() + assert(last == 0) + data = bytes(data) dname = filename + ".ctodata"