#!/usr/bin/env python3
import argparse, html, json
from pathlib import Path

def render(title, src, dst):
    body=src.read_text(encoding='utf-8',errors='replace')
    dst.write_text('<!doctype html><html><head><meta charset="utf-8"><title>'+html.escape(title)+'</title></head><body><h1>'+html.escape(title)+'</h1><pre>'+html.escape(body)+'</pre></body></html>\n',encoding='utf-8')

def main():
    p=argparse.ArgumentParser(); p.add_argument('--facts',type=Path,required=True); p.add_argument('--verify',type=Path,required=True); p.add_argument('--rollback',type=Path,required=True); p.add_argument('--output-dir',type=Path,required=True); p.add_argument('--title-prefix',default='STEP')
    a=p.parse_args(); a.output_dir.mkdir(parents=True,exist_ok=True); json.loads(a.facts.read_text(encoding='utf-8'))
    render(a.title_prefix+' facts',a.facts,a.output_dir/'facts-public.html'); render(a.title_prefix+' verification',a.verify,a.output_dir/'verify-public.html'); render(a.title_prefix+' rollback guidance',a.rollback,a.output_dir/'rollback-public.html')
    print('RESULT=PASS_ROUTER_PUBLIC_HTML_ALIASES'); print('FACTS_PUBLIC_NAME=facts-public.html'); print('VERIFY_PUBLIC_NAME=verify-public.html'); print('ROLLBACK_PUBLIC_NAME=rollback-public.html')
    return 0
if __name__=='__main__': raise SystemExit(main())
