From 1dd152d036f168df02b023c99db53a76c8bca4c7 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Fri, 29 Jan 1999 22:12:29 +0000 Subject: [PATCH] Added support to handle \versionadded in a reasonable way. --- Doc/tools/sgmlconv/docfixer.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Doc/tools/sgmlconv/docfixer.py b/Doc/tools/sgmlconv/docfixer.py index 68fd4a3731..589ecea5ca 100755 --- a/Doc/tools/sgmlconv/docfixer.py +++ b/Doc/tools/sgmlconv/docfixer.py @@ -155,8 +155,10 @@ def rewrite_descriptor(doc, descriptor): # 2. Create a from the name attribute and . # 3. Create additional s from <*line{,ni}> elements, # if found. - # 4. Move remaining child nodes to a element. - # 5. Put it back together. + # 4. If a is found, move it to an attribute on the + # descriptor. + # 5. Move remaining child nodes to a element. + # 6. Put it back together. # descname = descriptor.tagName index = 1 @@ -200,16 +202,21 @@ def rewrite_descriptor(doc, descriptor): signature.appendChild(doc.createTextNode("\n ")) signature.appendChild(args) signature.appendChild(doc.createTextNode("\n ")) - # 3. + # 3, 4. pos = skip_leading_nodes(children, pos + 1) while pos < len(children) \ and children[pos].nodeType == xml.dom.core.ELEMENT \ - and children[pos].tagName == linename: - # this is really a supplemental signature, create - sig = methodline_to_signature(doc, children[pos]) - newchildren.append(sig) + and children[pos].tagName in (linename, "versionadded"): + if children[pos].tagName == linename: + # this is really a supplemental signature, create + sig = methodline_to_signature(doc, children[pos]) + newchildren.append(sig) + else: + # + descriptor.setAttribute( + "added", children[pos].getAttribute("version")) pos = skip_leading_nodes(children, pos + 1) - # 4. + # 5. description = doc.createElement("description") description.appendChild(doc.createTextNode("\n")) newchildren.append(description) @@ -217,7 +224,7 @@ def rewrite_descriptor(doc, descriptor): last = description.childNodes[-1] if last.nodeType == xml.dom.core.TEXT: last.data = string.rstrip(last.data) + "\n " - # 5. + # 6. # should have nothing but whitespace and signature lines in ; # discard them while descriptor.childNodes: @@ -408,6 +415,9 @@ def create_module_info(doc, section): typenode = doc.createElement("type") typenode.appendChild(doc.createTextNode(type)) modinfo.appendChild(typenode) + versionadded = extract_first_element(section, "versionadded") + if versionadded: + modinfo.setAttribute("added", versionadded.getAttribute("version")) title = get_first_element(section, "title") if title: children = title.childNodes -- 2.50.0