#!/usr/bin/env python3
"""Render groups.json + records.json as one self-contained page: REFERENCE.html."""
import html, json, pathlib
here = pathlib.Path(__file__).parent
d = json.loads((here / 'groups.json').read_text())
recs = {r['chunk']: r for r in json.loads((here / 'records.json').read_text())}
stories = json.loads((here.parent / 'stories.json').read_text())
e = html.escape
SRC = {'archetype': 'archetype', 'filled': 'filled gap'}
def src(o):
if o['source'].startswith('scene:'):
n = o['source'].split(':')[1]
return f'from scene {n}' + ('' if o['in_group'] else ' (outside this group)')
return SRC[o['source']]
def moves(m): return ' '.join(f' {e(r["summary"])} {e(g["predicament"])}{e(k)} {e(v)}' for k, v in m.items())
def scene(c):
r = recs[c]
return (f'{c} · {e(stories[r["story"]]["title"])} — {e(r["predicament"])}
'
f'{g["id"]} · {e(g["name"])}
Options
{"".join(f"
{moves(o['moves'])}Scenes
{"".join(scene(m["chunk"]) for m in g["members"])}