LibreOffice Module onlineupdate (master) 1
gen_cert_header.py
Go to the documentation of this file.
1#!/usr/bin/env python
2
3from __future__ import print_function
4import os
5import sys
6import binascii
7
8try:
9 from configparser import ConfigParser
10except ImportError:
11 from ConfigParser import SafeConfigParser as ConfigParser
12
13def file_byte_generator(filename):
14 with open(filename, "rb") as f:
15 block = f.read()
16 return block
17
18def eprint(*args, **kwargs):
19 print(*args, file=sys.stderr, **kwargs)
20
21def create_header(array_name, in_filename):
22 if sys.version_info >= (3,0):
23 hexified = ["0x" + binascii.hexlify(bytes([inp])).decode('ascii') for inp in file_byte_generator(in_filename)]
24 else:
25 hexified = ["0x" + binascii.hexlify(inp).decode('ascii') for inp in file_byte_generator(in_filename)]
26 print("const uint8_t " + array_name + "[] = {")
27 print(", ".join(hexified))
28 print("};")
29 return 0
30
31if __name__ == '__main__':
32 if len(sys.argv) < 3:
33 eprint('ERROR: usage: gen_cert_header.py array_name update_config_file')
34 sys.exit(1)
35
36 if not os.path.exists(sys.argv[2]):
37 eprint('The config file %s does not exist'%(sys.argv[2]))
38 sys.exit(1)
39
40 config = ConfigParser()
41 config.read(sys.argv[2])
42 sys.exit(create_header(sys.argv[1], config.get('Updater', 'certificate-der')))
def create_header(array_name, in_filename)
def eprint(*args, **kwargs)
def file_byte_generator(filename)