diff --git a/bikeshed/boilerplate.py b/bikeshed/boilerplate.py index 476b2ff945..fe2c3b062f 100644 --- a/bikeshed/boilerplate.py +++ b/bikeshed/boilerplate.py @@ -2,6 +2,7 @@ import copy import dataclasses +import json import os import re import subprocess @@ -30,6 +31,18 @@ def loadBoilerplate(doc: t.SpecT, filename: str, bpname: str | None = None) -> N bpname = filename html = retrieve.retrieveBoilerplateFile(doc, filename) el = boilerplateFromHtml(doc, html, context=f"{filename} boilerplate") + if doc.md.cgTransitionPlan and filename == "status": + p = os.path.join(doc.inputSource.directory(), "cg-monitor.json") + with open(p, 'r') as f: + data = json.load(f) + + html = "
" + html += "

Transition status: " + data["transition_status"] + "

" + html += "

Target organization ("+ data["intended_organization"] +") / group (" + data["intended_group"] + ")

" + for note in data["notes"]: + html += "

" + note + "

" + html += "
" + el.append(h.parseHTML(html)) fillWith(bpname, el, doc=doc) diff --git a/bikeshed/metadata.py b/bikeshed/metadata.py index 04a5041214..0e6b8a8668 100644 --- a/bikeshed/metadata.py +++ b/bikeshed/metadata.py @@ -66,6 +66,7 @@ def __init__(self) -> None: self.boilerplate: config.BoolSet = config.BoolSet(default=True) self.canIUseURLs: list[str] = [] self.canonicalURL: str | None = None + self.cgTransitionPlan: bool = False self.complainAbout: config.BoolSet = config.BoolSet(["mixed-indents"]) self.customTextMacros: list[tuple[str, str]] = [] self.customWarningText: list[str] = [] @@ -1395,6 +1396,7 @@ def parseLiteralList(key: str, val: str, lineNum: str | int | None) -> list[str] "Boilerplate": Metadata("Boilerplate", "boilerplate", joinBoolSet, parseBoilerplate), "Can I Use Url": Metadata("Can I Use URL", "canIUseURLs", joinList, parseLiteralList), "Canonical Url": Metadata("Canonical URL", "canonicalURL", joinValue, parseLiteral), + "Community Group Transition Plan": Metadata("CG Transition Plan", "cgTransitionPlan", joinValue, parseBoolean), "Complain About": Metadata("Complain About", "complainAbout", joinBoolSet, parseComplainAbout), "Custom Warning Text": Metadata( "Custom Warning Text",