Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
michael@0 | 1 | # This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
michael@0 | 4 | |
michael@0 | 5 | import sys |
michael@0 | 6 | import binascii |
michael@0 | 7 | |
michael@0 | 8 | def file_byte_generator(filename, block_size = 512): |
michael@0 | 9 | with open(filename, "rb") as f: |
michael@0 | 10 | while True: |
michael@0 | 11 | block = f.read(block_size) |
michael@0 | 12 | if block: |
michael@0 | 13 | for byte in block: |
michael@0 | 14 | yield byte |
michael@0 | 15 | else: |
michael@0 | 16 | break |
michael@0 | 17 | |
michael@0 | 18 | def create_header(array_name, in_filename): |
michael@0 | 19 | hexified = ["0x" + binascii.hexlify(byte) for byte in file_byte_generator(in_filename)] |
michael@0 | 20 | print "const uint8_t " + array_name + "[] = {" |
michael@0 | 21 | print ", ".join(hexified) |
michael@0 | 22 | print "};" |
michael@0 | 23 | return 0 |
michael@0 | 24 | |
michael@0 | 25 | if __name__ == '__main__': |
michael@0 | 26 | if len(sys.argv) < 3: |
michael@0 | 27 | print 'ERROR: usage: gen_cert_header.py array_name in_filename' |
michael@0 | 28 | sys.exit(1); |
michael@0 | 29 | sys.exit(create_header(sys.argv[1], sys.argv[2])) |