blob: 917b3035f2eeae2a3db6457b1698a15714b27f39 [file] [log] [blame]
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05001#! /usr/bin/env python
2# -*- Python -*-
3
4import string
5import support
6import sys
7
8
9def collect(fp):
10 names = []
11 while 1:
12 line = fp.readline()
13 if not line:
14 break
15 line = string.strip(line)
16 if line:
17 names.append(line)
18 else:
19 names = []
20 return names
21
22
23def main():
24 options = support.Options()
25 options.columns = 4
26 options.variables["title"] = "Acknowledgements"
27 options.parse(sys.argv[1:])
28 names = collect(sys.stdin)
29 percol = (len(names) + options.columns - 1) / options.columns
30 colnums = []
31 for i in range(options.columns):
32 colnums.append(percol*i)
33 fp = options.get_output_file()
34 fp.write(string.rstrip(options.get_header()) + "\n")
35 fp.write(THANKS + "\n")
36 fp.write('<table width="100%" align="center">\n')
37 for i in range(percol):
38 fp.write(" <tr>\n")
39 for j in colnums:
40 try:
41 fp.write(" <td>%s</td>\n" % names[i + j])
42 except IndexError:
43 pass
44 fp.write(" </tr>\n")
45 fp.write("</table>\n")
46 fp.write(string.rstrip(options.get_footer()) + "\n")
47 fp.close()
48
49THANKS = '''\
50
51<p>These people have contributed in some way to the Python
52documentation. This list is probably not complete -- if you feel that
53you or anyone else should be on this list, please let us know (send
54email to <a
55href="mailto:python-docs@python.org">python-docs@python.org</a>), and
56we will be glad to correct the problem.</p>
57
58<p>It is only with the input and contributions of the Python community
59that Python has such wonderful documentation -- <b>Thank You!</b></p>
60
61'''
62
63
64if __name__ == "__main__":
65 main()