Files
test/release/datafiles/ctodata.py
Campbell Barton 4f1817cc18 Cleanup: declare __all__ for Python scripts
Declare all to make public public API's explicit and
help detect unused code.
2025-01-06 16:45:36 +11:00

63 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2009 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
__all__ = (
"__all__",
)
import sys
def main():
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 <c_file> [--strip-byte]\n")
sys.exit(1)
filename = argv[1]
try:
fpin = open(filename, "r")
except:
sys.stdout.write("Unable to open input {:s}\n".format(argv[1]))
sys.exit(1)
data_as_str = fpin.read().rsplit("{")[-1].split("}")[0]
data_as_str = data_as_str.replace(",", " ")
data_as_list = [int(v) for v in data_as_str.split()]
del data_as_str
if strip_byte:
# String data gets trailing byte.
last = data_as_list.pop()
assert last == 0
data = bytes(data_as_list)
del data_as_list
dname = filename + ".ctodata"
sys.stdout.write("Making DATA file <{:s}>\n".format(dname))
try:
fpout = open(dname, "wb")
except:
sys.stdout.write("Unable to open output {:s}\n".format(dname))
sys.exit(1)
size = fpout.write(data)
sys.stdout.write("{:d}\n".format(size))
if __name__ == "__main__":
sys.exit(main())