# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this file, # You can obtain one at http://mozilla.org/MPL/2.0/. import os def file_byte_generator(filename, block_size=512): with open(filename, "rb") as f: while True: block = f.read(block_size) if block: for byte in block: yield byte else: break def create_header(out_fh, in_filename): assert out_fh.name.endswith(".h") array_name = os.path.basename(out_fh.name)[:-2] + "Data" hexified = ["0x%02x" % byte for byte in file_byte_generator(in_filename)] print("const uint8_t " + array_name + "[] = {", file=out_fh) print(", ".join(hexified), file=out_fh) print("};", file=out_fh) return 0