1#!/usr/bin/env python3
2"""
3Post-processes HTML and Latex files output by Sphinx.
4"""
5import io
6
7def main():
8    import argparse
9
10    parser = argparse.ArgumentParser(description=__doc__)
11    parser.add_argument('mode', help='file mode', choices=('html', 'tex'))
12    parser.add_argument('file', nargs='+', help='input file(s)')
13    args = parser.parse_args()
14
15    mode = args.mode
16
17    for fn in args.file:
18        with io.open(fn, 'r', encoding="utf-8") as f:
19            if mode == 'html':
20                lines = process_html(fn, f.readlines())
21            elif mode == 'tex':
22                lines = process_tex(f.readlines())
23
24        with io.open(fn, 'w', encoding="utf-8") as f:
25            f.write("".join(lines))
26
27def process_html(fn, lines):
28    return lines
29
30def process_tex(lines):
31    """
32    Remove unnecessary section titles from the LaTeX file.
33
34    """
35    new_lines = []
36    for line in lines:
37        if (line.startswith(r'\section{numpy.')
38            or line.startswith(r'\subsection{numpy.')
39            or line.startswith(r'\subsubsection{numpy.')
40            or line.startswith(r'\paragraph{numpy.')
41            or line.startswith(r'\subparagraph{numpy.')
42            ):
43            pass # skip!
44        else:
45            new_lines.append(line)
46    return new_lines
47
48if __name__ == "__main__":
49    main()
50