- autoclose_loader: true - runtimes: - src: "lib/pyodide/pyodide.js" name: pyodide-0.20 lang: python - ietf-comments-engine

IETF Comments Validation Tool

What's this about? See the documentation.




from ietf_comments_engine.md_comments import parse_markdown_comments class WebUi: def __init__(self): self.status_list = document.querySelector("#status") self.issue_list = document.querySelector("#issues") self.clear() self.warning_count = 0 self.error_count = 0 def status(self, name: str, value: str) -> None: issue = document.createElement("li") issue.innerText = f"{name}: {value}" self.status_list.appendChild(issue) def warn(self, message: str, source: str = "") -> None: self.warning_count += 1 issue = document.createElement("li") issue.innerText = f"Warning: {message}" issue.style.color = "orange" self.issue_list.appendChild(issue) def error(self, message: str, source: str = "") -> None: self.error_count += 1 issue = document.createElement("li") issue.innerText = f"Error: {message}" issue.style.color = "red" self.issue_list.appendChild(issue) def clear(self) -> None: self.status_list.innerHTML = '' self.issue_list.innerHTML = '' markdown_element = Element("markdown") def clear(*args, **kwargs): markdown_element.clear() def run(*args, **kwargs): console.log("running...") markdown = markdown_element.value webui = WebUi() comments = parse_markdown_comments(markdown, webui) webui.status("Document", comments.doc) webui.status("Revision", comments.revision) if comments.cc: webui.status("CC", f"@{comments.cc}") webui.status("Errors", webui.error_count) webui.status("Warnings", webui.warning_count) Element("run").add_class("is-primary")