AAAAAAAAAAAAAAAAAA

This commit is contained in:
2019-10-14 21:40:50 +02:00
parent 96d1c66384
commit d86c7c8a81
5 changed files with 166 additions and 237 deletions
+9 -17
View File
@@ -6,8 +6,8 @@ CARDS_DESTS_YAML := $(patsubst cards/%.yaml,cards/build/%.html,$(CARDS))
CARDS_DESTS_XML := $(patsubst cards/%.xml,cards/build/%.x.html,$(CARDS))
CARDS_DESTS := $(CARDS_DESTS_YAML) $(CARDS_DESTS_XML)
.PHONY: all
all: build/test_card.html build/test_card_rendered.html cards/build/all.html
.PHONY: style
style: build/test_card.html build/test_card_rendered.html cards/build/all.html
.PHONY: cards
cards: $(CARDS_DESTS) cards/build/all.html
@@ -17,7 +17,7 @@ style: build/style.xsl
.PHONY: dev
dev:
git ls-files | entr bash -c "make all"
git ls-files | entr bash -c "make style"
.PHONY: dev_all
dev_cards:
@@ -38,7 +38,7 @@ build/test_card.html: build/test_card.xml build/style.xsl
define PYTHON_MAKE_JINJA2_RENDERED_CARD
from jinja2 import Environment, FileSystemLoader
from markdown import markdown
import yaml, sys, glob
import yaml, sys, glob, traceback
import xmltodict
with open("build/style.css") as f: css_data = f.read()
with open(sys.argv[2], "w") as f:
@@ -48,6 +48,9 @@ with open(sys.argv[2], "w") as f:
"markdown":markdown,
"any":any,
"all":all,
"split":str.split,
"startswith":str.startswith,
"tail": lambda x: x[1:],
"cull_whitespace":(lambda x: " ".join(x.split())) })
for filename in ([sys.argv[1]] if sys.argv[1] != "ALL" else sorted(glob.glob("cards/*.yaml") + glob.glob("cards/*.xml"))):
if sys.argv[1] == "ALL": f.write(f"\n\n<h1>{filename}</h1>\n")
@@ -59,22 +62,11 @@ with open(sys.argv[2], "w") as f:
xml = xmltodict.parse(f2.read())
xml_data = xml.get("ability_card", {})
yaml_data = yaml.load(xml_data.get("yaml_data", ""))
if xml_data.get("image"):
yaml_data["figures"] = [{
'name': xml_data["image"] if (xml_data["image"][:4] == "http") else xml_data["image"].split(":", 1)[1],
'type': "url" if (xml_data["image"][:4] == "http") else xml_data["image"].split(":", 1)[0],
'scale': 1.0,
'flip_x': False,
'flip_y': False,
'offset': [0.0, 0.0],
'opacity': 1,
'rotation': 0,
}] + yaml_data.get("figures", [])
try:
data = e.get_template('style.html.j2').render(card=yaml_data, xml=xml_data)
data = e.get_template('style.html.j2').render(yaml=yaml_data, xml=xml_data)
except Exception as ex:
data = f"<pre style=\"color:red;\">{ex}</pre>"
traceback.print_exc()
f.write("\n" + data)
endef