Imported Upstream version 3.0
[debian/gnuradio] / gr-trellis / doc / make_numbered_listing.py
1 #!/usr/bin/env python
2
3 import sys
4 import os, os.path
5 from optparse import OptionParser
6
7 def quote_line (line):
8     line = line.replace ('&', '&')
9     line = line.replace ('<', '&lt;')
10     line = line.replace ('>', '&gt;')
11     line = line.replace ("'", '&apos;')
12     line = line.replace ('"', '&quot;')
13     return line
14
15 def generate_listing (input_filename, title=None):
16     inf = open (input_filename, "r")
17     output_filename = os.path.basename (input_filename) + '.xml'
18     outf = open (output_filename, "w")
19     outf.write ('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
20     # outf.write ('<example id="%s">\n' % (input_filename,))
21     # if not title:
22     #     title = input_filename
23     # outf.write ('<title>')
24     # outf.write (title)
25     # outf.write ('</title>\n')
26     outf.write ('<programlisting>\n');
27
28     lineno = 0
29     for line in inf:
30         line = line.expandtabs (8)
31         line = quote_line (line)
32         lineno = lineno + 1
33         outf.write ('%3d  %s' % (lineno, line))
34
35     outf.write ('</programlisting>\n')
36     # outf.write ('</example>\n')
37
38
39 def main ():
40     for file in sys.argv[1:]:
41         generate_listing (file)
42
43 if __name__ == '__main__':
44     main ()
45