#!/usr/bin/env python3 import os import io resources = {} resources_size = 0 os.chdir(os.path.dirname(__file__)) os.chdir('../src/') def process_file(name): if name.endswith('.gitignore'): return if name.endswith('.py'): return if os.path.basename(name).startswith('.'): return with open(name, 'rb') as f: data = f.read() resources[name] = data print('processing file %s (%d bytes)' % (name, len(data))) global resources_size resources_size += len(data) def process_dir_rec(dir): for name in os.listdir(dir): path = os.path.join(dir, name) if os.path.isfile(path): process_file(path) elif os.path.isdir(path): process_dir_rec(path) process_dir_rec('trezor/res/') for name in os.listdir('apps/'): path = os.path.join('apps/', name, 'res/') if os.path.isdir(path): process_dir_rec(path) resfile = 'trezor/res/resources.py' bio = io.StringIO() bio.write('resdata = {\n') for k in sorted(resources.keys()): bio.write(" '%s': %s,\n" % (k, resources[k])) bio.write('}\n') try: with open(resfile, 'r') as f: stale = f.read() except: stale = None fresh = bio.getvalue() if stale != fresh: with open(resfile, 'wt') as f: f.write(fresh) print('written %s with %d entries (total %d bytes)' % (resfile, len(resources), resources_size)) else: print('continuing with %s, no changes detected' % (resfile))