summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/update/updater/gen_cert_header.py
blob: da78cad674e2151c14e59c7dc3210ac9e888b860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 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