diff options
author | Fred Drake <fdrake@acm.org> | 2001-06-22 17:11:30 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2001-06-22 17:11:30 (GMT) |
commit | 9ca78ac57fbebcedba27c0f4487d295527b1f367 (patch) | |
tree | 822bbbaa2907731e1a5da910a4f6e2a5b59ec1f4 | |
parent | aff8837740febde22d45b5914fc794ebe9fa141a (diff) | |
download | cpython-9ca78ac57fbebcedba27c0f4487d295527b1f367.zip cpython-9ca78ac57fbebcedba27c0f4487d295527b1f367.tar.gz cpython-9ca78ac57fbebcedba27c0f4487d295527b1f367.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-x | Doc/tools/mkmodindex | 43 |
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: |