summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2001-06-22 17:17:02 (GMT)
committerFred Drake <fdrake@acm.org>2001-06-22 17:17:02 (GMT)
commit2f7d0354905cd2fa0498c12a10bfc112fdd5d879 (patch)
treefb334855bc181c787b5f4aa73bc637912cdad52b
parent2c5ecdabb3370a586b3411d07ab3d8846ef16b28 (diff)
downloadcpython-2f7d0354905cd2fa0498c12a10bfc112fdd5d879.zip
cpython-2f7d0354905cd2fa0498c12a10bfc112fdd5d879.tar.gz
cpython-2f7d0354905cd2fa0498c12a10bfc112fdd5d879.tar.bz2
Adjust to understand use of either single- or double-quotes to quote
attribute values, and make the logic surrounding the platform annotations just a little easier to read. Also make the platform notes appear in the generated page; they were supposed to, but did not.
-rwxr-xr-xDoc/tools/mkmodindex43
1 files changed, 23 insertions, 20 deletions
diff --git a/Doc/tools/mkmodindex b/Doc/tools/mkmodindex
index 5f2da0e..23a200e 100755
--- a/Doc/tools/mkmodindex
+++ b/Doc/tools/mkmodindex
@@ -49,26 +49,30 @@ class IndexOptions(support.Options):
class Node(buildindex.Node):
- annotation = ""
-
- def __init__(self, link, str, seqno):
- parts = string.split(str, None, 1)
- if parts[0][-5:] == "</tt>":
- self.modname = parts[0][:-5]
- else:
- self.modname = parts[0]
- if len(parts) == 2:
- self.annotation = parts[1]
+ def __init__(self, link, str, seqno, platinfo):
+ self.annotation = platinfo or None
+ if str[0][-5:] == "</tt>":
+ str = str[:-5]
+ self.modname = str
buildindex.Node.__init__(self, link, self.modname, seqno)
+ if platinfo:
+ s = '<tt class="module">%s</tt> %s' \
+ % (self.modname, self.annotation)
+ else:
+ s = '<tt class="module">%s</tt>' % str
+ self.text = [s]
def __str__(self):
- return '<tt class="module">%s</tt> %s' \
- % (self.modname, self.annotation)
+ if self.annotation:
+ return '<tt class="module">%s</tt> %s' \
+ % (self.modname, self.annotation)
+ else:
+ return '<tt class="module">%s</tt>' % self.modname
_rx = re.compile(
- "<dt><a href='(module-.*\.html)#l2h-\d+'><tt class='module'>"
- "([a-zA-Z_][a-zA-Z0-9_.]*</tt>(\s*<em>"
- "\(<span class='platform'>.*</span>\)</em>)?)</a>")
+ "<dt><a href=['\"](module-.*\.html)(?:#l2h-\d+)?['\"]>"
+ "<tt class=['\"]module['\"]>([a-zA-Z_][a-zA-Z0-9_.]*)</tt>\s*(<em>"
+ "\(<span class=['\"]platform['\"]>.*</span>\)</em>)?</a>")
def main():
options = IndexOptions()
@@ -81,7 +85,6 @@ def main():
# Collect the input data:
#
nodes = []
- seqno = 0
has_plat_flag = 0
for ifn in args:
if ifn == "-":
@@ -97,11 +100,11 @@ def main():
m = _rx.match(line)
if m:
# This line specifies a module!
- basename, modname = m.group(1, 2)
- has_plat_flag = has_plat_flag or m.group(3)
+ basename, modname, platinfo = m.group(1, 2, 3)
+ has_plat_flag = has_plat_flag or platinfo
linkfile = os.path.join(dirname, basename)
- nodes.append(Node('<a href="%s">' % linkfile, modname, seqno))
- seqno = seqno + 1
+ nodes.append(Node('<a href="%s">' % linkfile, modname,
+ len(nodes), platinfo))
ifp.close()
#
# Generate all output: