[Python-checkins] CVS: python/dist/src/Doc/tools/sgmlconv docfixer.py,1.32,1.33
Fred L. Drake
fdrake@users.sourceforge.net
Fri, 28 Sep 2001 22:05:27 -0700
Update of /cvsroot/python/python/dist/src/Doc/tools/sgmlconv
In directory usw-pr-cvs1:/tmp/cvs-serv24152
Modified Files:
docfixer.py
Log Message:
Fix up whitespace in <args> elements; reduce sequences of consecutive
whitespace characters to a single space.
Small changes elsewhere, mostly to clean up the code a little.
Index: docfixer.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/tools/sgmlconv/docfixer.py,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** docfixer.py 2001/09/28 17:14:35 1.32
--- docfixer.py 2001/09/29 05:05:25 1.33
***************
*** 390,407 ****
d[gi] = gi
rewrite_element = d.has_key
! queue = []
! for node in doc.childNodes:
! if node.nodeType == ELEMENT:
! queue.append(node)
while queue:
node = queue[0]
del queue[0]
if rewrite_element(node.tagName):
! children = node.childNodes
! if len(children) == 1 \
! and children[0].nodeType == TEXT:
! data = children[0].data
! if data[-2:] == "()":
! children[0].data = data[:-2]
else:
for child in node.childNodes:
--- 390,403 ----
d[gi] = gi
rewrite_element = d.has_key
! queue = [node for node in doc.childNodes if node.nodeType == ELEMENT]
while queue:
node = queue[0]
del queue[0]
if rewrite_element(node.tagName):
! lastchild = node.lastChild
! if lastchild and lastchild.nodeType == TEXT:
! data = lastchild.data
! if data.endswith("()"):
! lastchild.data = data[:-2]
else:
for child in node.childNodes:
***************
*** 774,784 ****
args = child.getElementsByTagName("args")
for arg in args:
! fixup_args(doc, arg)
! arg.normalize()
args = child.getElementsByTagName("constructor-args")
for arg in args:
! fixup_args(doc, arg)
! arg.normalize()
def fixup_args(doc, arglist):
--- 770,784 ----
args = child.getElementsByTagName("args")
for arg in args:
! rewrite_args(doc, arg)
args = child.getElementsByTagName("constructor-args")
for arg in args:
! rewrite_args(doc, arg)
+ def rewrite_args(doc, arglist):
+ fixup_args(doc, arglist)
+ arglist.normalize()
+ if arglist.childNodes.length == 1 and arglist.firstChild.nodeType == TEXT:
+ node = arglist.firstChild
+ node.data = ' '.join(node.data.split())
def fixup_args(doc, arglist):
***************
*** 789,795 ****
optkids = child.childNodes
while optkids:
! k = optkids[0]
! child.removeChild(k)
! arglist.insertBefore(k, child)
arglist.insertBefore(doc.createTextNode("]"), child)
arglist.removeChild(child)
--- 789,793 ----
optkids = child.childNodes
while optkids:
! arglist.insertBefore(child.firstChild, child)
arglist.insertBefore(doc.createTextNode("]"), child)
arglist.removeChild(child)