#!/usr/bin/env python3 import sys import json import lzma def main(): if len(sys.argv) != 3: print("Usage: vial_generate_defition.py path-to-vial.json path-to-output.h") return 1 with open(sys.argv[1], "r") as inf: data = inf.read() # minify json data = json.dumps(json.loads(data), separators=(',', ':')).strip() # compress data = lzma.compress(data.encode("utf-8")) with open(sys.argv[2], "w") as outf: outf.write("#pragma once\n") outf.write("static const unsigned char keyboard_definition[] PROGMEM = {") arr = ["0x{:02X}".format(b) for b in data] outf.write(", ".join(arr)) outf.write("};\n") return 0 if __name__ == "__main__": sys.exit(main())