parent
125079a8a4
commit
c3a61998cb
@ -0,0 +1,28 @@
|
|||||||
|
# generated from resources.py.mako
|
||||||
|
# do not edit manually!
|
||||||
|
# flake8: noqa
|
||||||
|
# fmt: off
|
||||||
|
<%
|
||||||
|
from pathlib import Path
|
||||||
|
from itertools import chain
|
||||||
|
|
||||||
|
THIS = Path(local.filename).resolve()
|
||||||
|
SRCDIR = THIS.parent.parent.parent
|
||||||
|
|
||||||
|
PATTERNS = (
|
||||||
|
"trezor/res/**/*.toif",
|
||||||
|
"apps/*/res/**/*.toif",
|
||||||
|
)
|
||||||
|
|
||||||
|
resfiles = chain.from_iterable(SRCDIR.glob(p) for p in PATTERNS)
|
||||||
|
%>\
|
||||||
|
|
||||||
|
def load_resource(name: str) -> bytes:
|
||||||
|
if False:
|
||||||
|
raise RuntimeError
|
||||||
|
% for resfile in resfiles:
|
||||||
|
elif name == "${resfile.relative_to(SRCDIR)}":
|
||||||
|
return ${repr(resfile.read_bytes())}
|
||||||
|
% endfor
|
||||||
|
else:
|
||||||
|
return bytes()
|
@ -1,67 +0,0 @@
|
|||||||
#!/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("# fmt: off\n")
|
|
||||||
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 FileNotFoundError:
|
|
||||||
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))
|
|
Loading…
Reference in new issue