diff options
Diffstat (limited to 'scripts/rcc_format.py')
-rw-r--r-- | scripts/rcc_format.py | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/scripts/rcc_format.py b/scripts/rcc_format.py deleted file mode 100644 index 7fcfe34..0000000 --- a/scripts/rcc_format.py +++ /dev/null @@ -1,67 +0,0 @@ -from collections import namedtuple -import xml.etree.ElementTree as xml - -resource = namedtuple('resource', 'alias variable path') - -def to_variable_name(path): - name = path.replace('/', '_') - if name.endswith('.zstd'): - name = name[:-5] - name = name.replace('-', '_') - name = name.replace('.', '_') - return name - -def filelist(file): - root = xml.parse(file).getroot() - if root.tag != 'RCC': - return None - - files = [] - for child in root: - if child.tag == 'qresource': - prefix = child.attrib['prefix'] - for i in child: - alias = prefix + '/' + i.attrib['alias'] - variable = to_variable_name(i.text) - path = i.text - files.append(resource(alias, variable, path)) - - return files - -def write_header(file, namespace): - print("// Autogenerated binary file hexdump", file=file) - print("// This file may get overwritten by the build system\n", file=file) - print("#include <embed.h>\n", file=file) - print("namespace {} {{".format(namespace), file=file) - -def write_item(file, array_name, array_data): - line_items = 0 - - print("constexpr uint8_t {}[] = {{".format(array_name), file=file) - - for byte in array_data[0:len(array_data)]: - line_items+=1 - if line_items == 16: - print(" 0x{:02X},".format(byte), file=file) - line_items = 0 - else: - print(" 0x{:02X},".format(byte), file=file, end='') - - - print("};", file=file) - print("constexpr size_t {}_len = {};\n".format(array_name, len(array_data)), file=file) - -def write_entries(file, resource_list): - print("constexpr std::array entries {", file=file) - for f in resource_list: - print(" \"{}\", ".format(f.alias), file=file) - print("};\n", file=file) - - print("constexpr std::array values {", file=file) - for f in resource_list: - print(" std::span( {}, {}_len ),".format(f.variable, f.variable), file=file) - print("};\n", file=file) - -def write_footer(file, namespace): - print("\n}} // namespace {}".format(namespace), file=file) - |