Message ID | 20241213021827.2956769-18-jsnow@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | docs: add basic sphinx-domain rST generator to qapidoc | expand |
John Snow <jsnow@redhat.com> writes: > Keep a record of which entity we're working on documenting for the > purposes of being able to change certain generative features > conditionally and create stronger assertions. > > If you find yourself asking: "Wait, but where does the current entity > actually get recorded?!", you're right! That part comes with the > visit_entity() implementation, which gets added later. That's fine, except your title promises "record current documented entity". Perhaps "Prepare to record entity being transmogrified". > Signed-off-by: John Snow <jsnow@redhat.com> > --- > docs/sphinx/qapidoc.py | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index 02f434c09ab..c731c597daf 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -74,9 +74,15 @@ def dedent(text: str) -> str: > > class Transmogrifier: > def __init__(self, schema): > + self._curr_ent = None > self._result = StringList() > self.indent = 0 > > + @property > + def entity(self) -> QAPISchemaEntity: > + assert self._curr_ent is not None > + return self._curr_ent > + > # General-purpose rST generation functions > > def get_indent(self) -> str:
diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index 02f434c09ab..c731c597daf 100644 --- a/docs/sphinx/qapidoc.py +++ b/docs/sphinx/qapidoc.py @@ -74,9 +74,15 @@ def dedent(text: str) -> str: class Transmogrifier: def __init__(self, schema): + self._curr_ent = None self._result = StringList() self.indent = 0 + @property + def entity(self) -> QAPISchemaEntity: + assert self._curr_ent is not None + return self._curr_ent + # General-purpose rST generation functions def get_indent(self) -> str:
Keep a record of which entity we're working on documenting for the purposes of being able to change certain generative features conditionally and create stronger assertions. If you find yourself asking: "Wait, but where does the current entity actually get recorded?!", you're right! That part comes with the visit_entity() implementation, which gets added later. Signed-off-by: John Snow <jsnow@redhat.com> --- docs/sphinx/qapidoc.py | 6 ++++++ 1 file changed, 6 insertions(+)